• Python 列表&元组&字典&集合


    列表(list)

    • 有序性,可存储任意类型的值
    • 通过偏移存取,支持索引来读取元素,第一个索引为0 ,倒数第一个索引为-1
    • 可变性 ,支持切片、合并、删除等操作
    • 可通过索引来向指定位置插入元素
    • 可通过pop()方法删除末尾元素,pop(索引位置)来删除指定位置元素
    • 替换元素可直接通过赋值给对应的的索引位置
     1 classMates = ['zhangsan','lisi','wangwu']
     2 print(classMates[0])  #通过索引来获取元素
     3 print(classMates[-1])  #列表元素的所因为-1的为最后一个元素
     4 classMates.append('chenliu')   #在列表末尾追加元素
     5 print(classMates)
     6 classMates.insert(1,'chenyi')  #通过insert函数 用索引号来指定插入元素位数
     7 print(classMates)
     8 classMates.pop()  #弹出元素 默认为最后一个元素
     9 print(classMates)
    10 classMates.pop(1) #通过指定索引删除元素
    11 print(classMates)
    12 classMates[0] = 'sanduo' #通过赋值,直接把索引为0的元素给替换掉
    13 print(classMates)
    14 
    15 s = ['python',123,True]  #列表可以存放不同数据类型的元素
    16 L = ['man','woman',['python',123,]]  #列表元素也可以为其他列表
    17 print(L)
    18 
    19 
    20 L = [
    21     ['Apple', 'Google', 'Microsoft'],
    22     ['Java', 'Python', 'Ruby', 'PHP'],
    23     ['Adam', 'Bart', 'Lisa']]
    24 print(L[0][0])  #通过索引来打印元素Apple

    元组(tuple)

    • 有序性,和列表一样通过偏移存取,支持用索引来读取元素
    • 不可变性,不支持任何修改及任何调用
    • tuple可作为字典的key,可用于字符串格式化中
    1 classMates = ('lisa','rom','bobi')
    2 t = (1,)  #在显示只有一个元素的元组时,会在后面加一个逗号
    3 print(t)

    字典 (dictionary)

    • 无序可变的,属于科扁映射类型
    • 采用键值对(key-value )进行存储,查找速度较快
    • 可以通过pop.() 来进行删除键,所对应的value也会被删除
    • 除了初始化字典时存放数据,还可通过 dict['key'] = value 来存放
    • 键为固定的不可变的,只能对应一个value,多次对一个key放入value,后面的值被顶替前面的值
    • 需要占用大量内存 ,浪费内存
     1 dictOne = {'zhangsan': 95,'lisi': 87,'wangwu':76}
     2 print(dictOne['wangwu'])
     3 dictOne['sanduo'] = 100  #把数据放入dict的方法,除了初始化时指定外,还可以通过key放入
     4 print(dictOne['sanduo']) 
     5 dictOne['sanduo'] = 98  #重复给一个key赋值,后面的值会把前面的值代替
     6 print(dictOne['sanduo'])
     7 dictOne['xiaozhang'] = 67
     8 print(dictOne)
     9 print('sanduo'in dictOne )  #用 in 判断key在列表中是否存在
    10 print(dictOne.get('sanduo',-1))
    11 print(dictOne.get('wanwu',-1))  #通过get() 如果key不存在,可以返回None,或者自己指定的 value
    12 dictOne.pop('zhangsan')  #通过pop.() 删除字典的键,同时对应的value也会被删除
    13 print(dictOne) 

    集合(set)

    • 无序性、无重复key
    • 创建set,需要提供一个list作为输入集合
    • 通过add(key)方法添加元素
    • 通过remove(key)删除元素
    • 不可以放入可变对象例如 list
     1 setFirst = set([2,3,4,6,5])  # 创建set 需要提供一个list作为输入集合
     2 print(setFirst) 
     3 
     4 setSecond = set([1,2,2,3,4,3])  #set 自动过滤掉重复元素
     5 print(setSecond) 
     6 setSecond.add(9)  #通过add.()来添加元素到set中
     7 print(setSecond) 
     8 setSecond.remove(4)  #通过remove.()来删除元素
     9 print(setSecond)
    10 
    11 firstList = [1,2,3,3,3,5,6,6,6,9]
    12 print(list(set(firstList)))   #利用set来过滤掉重复元素 
    13 
    14 s1 = set([1,2,3])
    15 s2 = set([2,3,4])
    16 print(s1 & s2)  #做交集运算
    17 print(s1 | s2)  #做并级运算
    越努力,越幸运
  • 相关阅读:
    【codeforces 785B】Anton and Classes
    【codeforces 785C】Anton and Fairy Tale
    【t003】string
    【BZOJ 1028】[JSOI2007]麻将
    【t011】最小覆盖子串
    【BZOJ 1029】[JSOI2007]建筑抢修
    cgb2008-京淘day02
    抽象类与接口概念及代码实例
    【hihocoder 1296】数论三·约瑟夫问题
    【hihocoder 1295】Eular质数筛法
  • 原文地址:https://www.cnblogs.com/strive99/p/10164611.html
Copyright © 2020-2023  润新知