zoukankan      html  css  js  c++  java
  • Python之freshman01

    列表与元组、字典

    1.列表list:["ele1","ele2","ele3","ele0"]

         列表是一组任意类型的值,按照一定顺序组合而成的;通过偏移存取;可变长度、异构以及任意嵌套;可变的序列;对象引用的数组

    2.元组tuple:("alex","韩顺平","金云龙")

    只读的列表,两个方法index()、count();通过偏移存取;不可变序列;固定长度、异构、任意嵌套;对象引用的数组

    与list相比:1.比列表操作速度快 2.对数据“写保护” 3.可用于字符串格式化中 4.可作为字典的key

    切片:(取多个元素)

     1 str = ["你好","世界","hello","world",1,2]
     2 print(str[1:4] )    #截取下标1至4之间的数据,包括1不包括4
     3     #['世界', 'hello', 'world']
     4 print(str[1:-1])    #截取下标1至-1之间的数据,不包括-1
     5     #['世界', 'hello', 'world', 1]
     6 print(str[:1])
     7     #['你好']#取下标0-1
     8 print(str[1:])      #取下标1-完
     9     #['世界', 'hello', 'world', 1, 2]
    10 print(str[0::2])    #隔一取一
    View Code

    追加:append()

    1 str=["alex","blue","sir"]
    2 str.append("john")
    3 print(str)
    4 #['alex', 'blue', 'sir', 'john']
    View Code

    插入:insert()

    1 str=["a","b","c","d","e"]
    2 str.insert(1,"1前")#大于列表长度时插在最后
    3 print(str)
    View Code

    修改:

    1 str=["lucky","dog"]
    2 str[1]="pig"
    3 print(str)
    4 #['lucky', 'pig']
    View Code

    删除:del str[index]/str.remove("obj")/str.pop()

    1 str=["lucky","dog","love","me","love","dog"]
    2 #del str[1]         #删除指定下标
    3 #['lucky', 'love', 'me', 'love', 'dog']
    4 str.remove("dog")   #删除指定元素中的第一个
    5 #['lucky', 'love', 'me', 'love','dog']
    6 #str.pop()          #删除最后一个元素
    7 print(str)
    View Code

    扩展:extend()

    1 list1=["a","b","c"]
    2 list2=[4,5,"6"]
    3 list1.extend(list2)
    4 print(list1)
    5 #['a', 'b', 'c', 4, 5, '6']
    View Code

    拷贝:copy()

    1 list=["a","b","c"]
    2 list_copy=list.copy()
    3 print(list_copy)
    View Code

    统计:list.count("ele")

    排序与翻转:list.sort()/list.reverse()

    获取下标:list.index("ele")

    3.字典dict

    一个关联数组,是一个通过关键字索引的对象的集合,使用键-值(key-value)进行存储,查找速度快;任意对象的无序集合;可变长、异构、任意嵌套;属于可变映射类型;对象引用表

    与list相比:1.查找和插入的速度快,不会随着key的增加而增加 2.需要占用大量内存,内存浪费

    而list:1.查找和插入的时间随着元素的增加而增加 2.占用内存空间小,浪费少,所以dict是空间来换取时间的一种方法

    语法:dict={"key1":"value1","key2":"value",...}

    特性:dict无序的,key唯一所以去重

    增加、修改、删除:

    1 dict={"001":"mouse","002":"ox","003":"tiger"}
    2 dict.popitem()#删除最后一个
    3 del dict["001"]
    4 dict.pop("002")
    5 dict["004"]="rabbit"#增加
    6 dict["004"]="dragon"#修改
    7 print(dict)
    View Code

    查找:

    1 dict={"001":"mouse","002":"ox","003":"tiger"}
    2 print("001" in dict)  #标准用法
    3 #True
    4 print(dict.get("003"))
    5 print(dict["002"])#同上,但如果一个key不存在,就报错,
    6                     # get不会,不存在只返回None
    View Code

    多级字典嵌套:

    循环dict:

    1 #方法1
    2 for key in info:
    3     print(key,info[key])
    4 
    5 #方法2
    6 for k,v in info.items(): #会先把dict转成list,数据里大时莫用
    7     print(k,v)

    4.集合set

    无序的不重复的数据集合,用于去除列表的“重”,测试两组数据之间的关系:交集、并集、差集等

    s1=set([1,2,3])     #创建一个集合有1,2,3三个元素
    s2=set('hello')     #创建一个唯一字符字符的集合'h','e','o','l'
    a=s1|s2             #并集
    b=s1&s2             #交集set{}
    c=s1-s2             #差集{1, 2, 3}
    d=s1^s2             #对称差集{'l', 1, 2, 3, 'h', 'o', 'e'}
    
    print(s1.issubset(d))#子集 #True
    print(s1.issuperset(s2))#超级#False
    s1.union(s2)        #返回新集合-s1与s2的并集
    s1.intersection(s2) #返回新集合-s1与s2的交集
    s1.difference(s2)   #返新集合差集,该集合是s1的成员
    s1.symmetric_difference(s2)#返新集合-除了s1、s2共有的成员
    s1.copy()           #返新集合,是集合s1的浅复制
    s1.update(s2)   #用s2的元素修改s1 #{1, 2, 3, 'l', 'h', 'o', 'e'}
    s1.intersection_update(s2)#s1中的元素是属于s1、s2共同的 #set{}
    s1.difference_update(s2)#{1,2,3}返回属于s1但不属于s2的元素
    s1.symmetric_difference_update(s2)#{1, 2, 3, 'e', 'l', 'h', 'o'}
    
    s1.add(obj)
    s1.remove(s2)
    s1.discard()        #删除指定的
    s1.pop()            #删除任意一个
    s1.clear()          #删除所有
    print(s1)

    5.文件操作

    打开文件的模式有:

    • r,只读模式(默认)。
    • w,只写模式。【不可读;不存在则创建;存在则删除内容;】
    • a,追加模式。【可读;   不存在则创建;存在则只追加内容;】

    "+" 表示可以同时读写某个文件

    • r+,可读写文件。【可读;可写;可追加】
    • w+,写读
    • a+,同a

    "U"表示在读取时,可以将 自动转换成 (与 r 或 r+ 模式同使用)

    • rU
    • r+U

    "b"表示处理二进制文件(如:FTP发送上传ISO镜像文件,linux可忽略,windows处理二进制文件时需标注)

    • rb
    • wb
    • ab

    with语句

    为了避免打开文件后忘记关闭,可以通过管理上下文,即:

    with open("yesterday","r+")as f:
     
  • 相关阅读:
    [SQL Basics] Indexes
    [DS Basics] Data structures
    [Algorithm Basics] Search
    [Algorithm Basics] Sorting, LinkedList
    [Java Basics] multi-threading
    [Java Basics] Reflection
    [Java Basics] Collection
    SSH basics
    纯css实现三角形
    2015年百度实习生前端笔试题上海卷a
  • 原文地址:https://www.cnblogs.com/Dummer/p/8575732.html
Copyright © 2011-2022 走看看