一
队列与堆栈:
队列 先进先出
‘‘‘先进去的元素 先出来‘‘‘
l = []
                        添加元素
                       l.append(111) 
                       l.append(222) 
                       l.append(333) 
                        取出元素
                       print(l.pop(0)) 
                       print(l.pop(0)) 
                       print(l.pop(0)) 
              堆栈 先进后出
                       ‘‘‘先进去元素 后出来‘‘‘
l = []
        添加元素
        l.append(111)
        l.append(222)
        l.append(333) 
        取值
        print(l.pop()) 
        print(l.pop()) 
        print(l.pop()) 
二
字典类型
内置方法:
"""
      大括号括起来 内部可以存放多个元素
      元素的表现形式是以K:V键值对形式
          K是对V的描述性信息 一般都是字符串
              K是不可变类型
                  整型 浮点型 字符串
      可以是任意类型
      """
作用:存多个值,key-value存取,取值速度快
定义:key必须是不可变类型,value可以是任意类型。所以字典是可变类型
1.优先掌握的操作:
1.1 按key存取值:可存可取
例题:
d1 = {
                                   ‘username‘:‘jason‘,
                                   ‘password‘:123,
                                   ‘hobby‘:[‘read‘, ‘run‘]
                              } 
修改值:d1[‘username‘] = ‘tony‘---------->通过key可以改vaule的值
取值:print(d1[‘username‘])
print(d1[‘age‘]) --->键不存在 直接报错!!!
d1[‘age‘] = 18 --->键存在则修改 不存在则新建
1.2 长度len 统计字典中键值对的个数
1.3 成员运算in和not in
字典默认只暴露key value不暴露 如果想取一般只能通过key
1.4 删除
del d1[‘password‘] ----->指定key删除
‘‘‘字典不能使用索引!!!‘‘‘
res = d1.pop(‘password‘) --->注:pop删除字典的key,res会暂存拿到所对应的value值
1.5 键keys(),值values(),键值对items()
※将keys()的结果可以直接看成是列表
                                 print(d1.keys())   --->获取字典中所有的key    dict_keys([‘username‘, ‘password‘, ‘hobby‘])  老母猪
                                 for k in d1.keys():
                                 print(k)
                                   """
                                  python2与python3对比
                                   python3 
                                   keys()   dict_keys([‘username‘, ‘password‘, ‘hobby‘])  老母猪
                                   python2
                                   keys()   [‘username‘, ‘password‘, ‘hobby‘]
                                   """
              ※将values()的结果可以直接看成是列表
                                      print(d1.values()) --->获取字典中所有的vaule   dict_values([‘jason‘, 123, [‘read‘, ‘run‘]])  老母猪
            """
            python2与python3对比
                   python3 
                                      values()   dict_keys([‘jason‘, 123, [‘read‘, ‘run‘]])  老母猪
                                      python2
                                      values()    [‘jason‘, 123, [‘read‘, ‘run‘]]
             """
※ 将items()的结果可以直接看成是列表[]套小列表()
                                          print(d1.items())
                                          for k,v in d1.items(): --->解压赋值 结合 for循环
                                          print(k,v)
                                        """
                                        python2与python3对比
                                        python3 
                                        items()      dict_keys([(‘username‘, ‘jason‘), (‘password‘, 123), (‘hobby‘, [‘read‘, ‘run‘])])  老母猪
                                        python2
                                        items()       [(‘username‘, ‘jason‘), (‘password‘, 123), (‘hobby‘, [‘read‘, ‘run‘])]
                                        """
1.6 循环
‘‘‘字典for循环只能获取到key‘‘‘
1.7 get方法 (******) (主要用来取值的)
print(d1.get(‘username‘)) --->使用频率最为广泛,通过字典的key,获取字典的vaule
当key不存在
print(d1.get(‘age‘)) ---> get方法 key不存在也不会报错 返回None(什么都没有)
‘‘‘get方法还可以给第二个参数 键存在则不使用 键不存在则返回取到第二个参数 不写默认返回None‘‘‘
1.8 三种创建字典的方式
1※d2 = {‘k1‘:‘v1‘,‘k2‘:‘v2‘}
2※res = dict(name=‘jason‘,pwd=123,hobby=[‘read‘,‘run‘])
3※:
小例题:
            l = [
               [‘username‘,‘jason‘],
               [‘password‘,123],
               [‘hobby‘,[‘read‘,‘run‘]]
             ]
NO.1 d = {} ------>通过for循环把列表添加到字典当中去
                      for i in l: 
                       d[i[0]] = i[1] 
                   print(d)
NO.2 d = {}
                                                   for k,v in l: 
                                                       d[k] = v
                                                   print(d)
上面第3小题汇总写为:
res = dict(l)
print(res)
1.9 清空 clear()
2.0 快速生成一个字典 fromkeys()
l = [‘username‘,‘pwd‘,‘hobby‘]
res = dict.fromkeys(l,None)
print(res)
2.1 弹出末尾一组键值对 popitem()
2.2 键不存在 则新建 键存在不修改 而是获取到键对应的值 setdefault()
2.3 键不存在 则新建 键存在则修改 update()
使用以下方式更为简便实现上面两项内容:
dd[‘age‘] = 18
dd[‘name‘] = ‘jason‘
三
元组类型
内置方法:
"""
                           小括号括起来 括号内可以存放多个元素
                           元素与元素之间逗号隔开 元素可以是任意类型
                          元组也可以简单的理解为是列表
                          元组属于不可变类型
                            """
类型转换 与list一致 支持for循环的都可以
元组当内部只有一个元素的时候 逗号不能省略
                         以后只要是容器类型 无论内部有几个元素 都必须要有逗号
                         尤其是只有一个元素的情况下
作用:存多个值,对比列表来说,元组不可变(是可以当做字典的key的),
定义:与列表类型比,只不过[]换成()(再有和列表不一样的地方,元组是不可变类型,列表是可变类型)
1.优先掌握的操作:
1.1 按索引取值(正向取+反向取):只能取,不能改(因为它是不可变类型)
1.2 笔试题
                                     元组内元素的内存地址不能修改
                                     但是如果元素是可变类型 那么元素值可以改-------->可变类型可以更改
1.3 切片(顾头不顾尾,步长)
与字符串列表一致
1.4 长度 len()
1.5 成员运算 in和 not in
与列表一致
1.6 循环
for i in (11,22,33):
print(i)
四
集合类型
内置方法:
"""
                        大括号括起来 内部可以存放多个元素
        元素与元素之间逗号隔开(不是k:v键值对)  元素只能是不可变类型(整型 浮点型 字符串 元组)------>它也是不可变类型
                        s = {1,2,3,4}
                        只有两种情况才会考虑使用集合
                        1.关系运算
                         两个群体之间判断 交叉并集
                         共同好友 共同关注 共同点赞...
                         2.去重操作
                        去除重复的元素
                          """
"""定义空集合 需要使用关键字set"""
‘‘‘集合内默认不能出现重复的元素 如果出现了会自动去重‘‘‘
1. 关系运算
共同好友 :&
独有好友 :-
所有好友 : |
各自好友 :^
父集 :>
子集 :<
原文:https://www.cnblogs.com/linxiaowen/p/14864018.html