zoukankan      html  css  js  c++  java
  • 五、列表,元组,集合,字典使用及方法

    
    

    ”““可变类型:list dict set
    不可变类型: int float str tuple bool
    """

    一.列表使用:
    list1= [1,2,3,4,5,6,7]
    # count() 统计个数
    # res = l.count(8)
    # print(res)

    # clear() 清空列表
    # print(l)
    # res = l.clear()
    # print(l)
    # print(res)
    # print(id(l))
    # l.reverse() # 将列表反转
    # print(id(l))
    # print(l)

    # l.sort() 排序 默认情况下是从小到大(升序)
    # l1 = [43,6,1,7,99]
    # l1.sort(reverse=True) # 可以通过指定参数来修改默认的拍讯规则(降序)
    # print(l1)


    """
    能存多个值
    有序的
    可变
    """

    # 队列 先进先出
    # l1 = []
    # 先进
    # l1.append('first')
    # l1.append('second')
    # l1.append('third')
    # # 先出
    # print(l1.pop(0))
    # print(l1.pop(0))
    # print(l1.pop(0))

    # 堆栈 先进后出
    # 先进
    # l1.append('first')
    # l1.append('second')
    # l1.append('third')
    # 后出
    # print(l1.pop())
    # print(l1.pop())
    # print(l1.pop())

    "二.元组
    #作用:能够存储多个元素,元素与元素之间逗号隔开 元素可以是任意类型,元组不能被修改

    #定义:与列表类型比,只不过[]换成()
    age=(11,22,33,44,55)本质age=tuple((11,22,33,44,55))

    #优先掌握的操作:
    #1、按索引取值(正向取+反向取):只能取
    #2、切片(顾头不顾尾,步长)
    #3、长度
    #4、成员运算in和not in

    #5、循环

    # t = (1,2,3,'a','b',[1,2,3]) # tuple((1,2,3,'a','b',[1,2,3]))
    # print(type(t)) # <class 'tuple'>
    # t1 = tuple(1) # 报错 必须传容器类型
    # n = ('a')
    # n1 = (1)
    # print(type(n),type(n1)) # <class 'str'> <class 'int'>
    # 在定义容器类型的时候,哪怕内部只有一个元素,你也要用逗号隔开 区分一下(******)

    """
    #优先掌握的操作:
    #1、按索引取值(正向取+反向取):只能取
    t = (1, 2, 3, 'a', 'b', [1, 2, 3])
    # print(t[0])
    # t[1] = 'hahah'
    # t[-1] = 'hahaha'
    # t[-1][0] = '我改了' #改变的只是列表
    # print(t)

    # del t[0]
    # print(t)

    #2、切片(顾头不顾尾,步长)
    # print(t[::2])
    #3、长度
    # print(len(t))
    #4、成员运算in和not in
    # print('a' in t)
    #5、循环
    # for i in t:
    # print(i)

    # print(t.count('a'))
    # print(t.index('xxx'))

    """
    能存多个值
    有序
    元组不可变属于不可变类型
    """
    t2 = (1,2,3,4,[1,2])
    print(id(t2))
    t2[-1].append(666)
    print(t2)
    print(id(t2)) # 知识修改了元组里面的列表,没有直接改元组

    三.字典使用及方法:
    #作用:能存存储多组 key:value键值对 key是对value的描述 key通常情况下都是字符串
    # 其实这个key只能是不可变类型,value可以是任意数据类型


    # #定义:
    # d = {'name':'jason','password':123} # d = dict( {'name':'jason','password':123})
    #
    # d1 = {1:'1',0:'0',1.11:'1.11',(1,2):'到底能不能呢?'}
    # print(d1[1.11])
    # print(type(d1))
    # print(d1[(1,2)])
    # d2 = {'name':'jason','name':'tank','name':'nick','password':123}
    # 强调:字典的key是不能重复的 要唯一标识一条数据
    # 如果重复了 只会按照最后一组重复的键值对存储
    # print(len(d2))
    # print(d2)

    #优先掌握的操作:
    #1、按key存取值:可存可取
    # d3 = {'name':'jason','password':'123'}
    # print(id(d3))
    # print(d3['name'])
    # d3['name'] = 'egon'
    # d3['name'] = 'kevin'
    # d3['name'] = 'xxx'
    # d3['name'] = 'ooo'
    #
    # d3['age'] = 18 # 相当于把age:18 添加进去, 赋值语句当key不存在的情况下,会自动新增一个键值对(******)
    # print(d3,id(d3))

    #2、长度len
    # 统计的键值对的个数

    #3、成员运算in和not in 对于字典来说只能判断key值
    # d3 = {'name':'jason','password':'123'}
    # print('123' in d3)
    # print('name' in d3)

    #4、删除
    # d3 = {'name':'jason','password':'123'}
    # del d3['name']
    # print(d3)
    # res = d3.pop('name') # 弹出仅仅是value
    # res = d3.pop('age') # 当键不存在的时候直接报错
    # print(res)
    # print(d3)
    # d3.clear()
    # print(d3)


    # 定义字典的三种方式
    # 掌握
    # d1 = {'name':'jason','password':123}

    # 掌握
    # d2 = dict(name='jason',password=123,age=18) # (******)
    # print(d2,type(d2))


    # 了解即可
    # l = [
    # ['name','jason'],
    # ['age',18],
    # ['hobby','read']
    # ]
    # d = {}
    # for i in l:
    # print(i) # ['name','jason'],['age',18]...

    # for k,v in l:

    # print(k,v)

    # d[i[0]] = i[1]]
    # d[k] = v
    # print(d)
    # d3 = dict(l)
    # print(d3)

    #5、键keys(),值values(),键值对items()
    # d1 = {'name':'jason','password':123}
    # print(d1.keys()) #取键的所有值

    # dict_keys(['name', 'password']) 老母猪
    # # # for k in d1.keys():
    # # # print(k)
    # print(d1.values()) # dict_values(['jason', 123]) 老母猪 现在就把它当成一个列表来看即可
    # #
    # print(d1.items()) # dict_items([('name', 'jason'), ('password', 123)])
    # 就把它看成是列表套元组,元组的第一个元素是字典的key 第二个元素是字典的value

    # get()根据key获取value(*******************************)
    # d1 = {'name':'jason','pwd':123}
    # print(d1['name'])
    # print(d1['age'])
    # print(d1.get('name','你给我的name在字典的key中'))
    # res = d1.get('age') # 当字典的key不存在的情况 不报错 返回None
    # res1 = d1.get('xxx','你给我的age在字典的key中') # 当字典的key不存在的情况 不报错 返回None
    # # get可以传第二个参数。当你的key不存在的情况下,返回第二个你写好的参数信息
    # print(res1)
    # print(d1.get('xxx','asdsad'))
    # 第二个参数不写的话 当key不存在的情况下返回None,写了就返回写了内容


    # dict.fromkeys() 快速的创建一个字典
    l1 = ['name','password','age','hobby']
    # print(dict.fromkeys(l1,123))


    # dict.popitem() #弹出
    # print(d1.popitem()) # 尾部以元组的形式弹出键值对

    # dict.setdefault()
    # d1 = {'name':'jason','pwd':123}
    # res1 = d1.setdefault('name','xxoo') # 当键存在的情况下 不修改值 并且将原先key对应值返回给你
    # print(d1,res1)
    # res2 = d1.setdefault('age',18) # 当键不存在的情况下 新增一个键值对 并且将新增的键值对的值返回给你
    # print(d1,res2)

    # dict.update()
    # d1 = {'name':'jason','pwd':123}
    # d2 = {"age":18}
    # # d1.update(d2)
    # d1['age'] = 18
    # d1.update(age=666)
    # print(d1)

    #6、循环
    # d1 = {'name':'jason','password':123}
    # for i in d1:
    # print(i)

    """
    存多个值
    无序
    可变


    """

  • 相关阅读:
    mouse_event,keybd_event
    构造自己的StringGrid
    BMP2JPG,JPG2BMP
    $J的用法
    一个简单的系统托盘程序
    构造自己的双向链表
    C++的iostream标准库介绍
    D3DXVec4Dot 函数
    3D游戏从头编之D3D(3)
    D3DXVec4Cross 函数
  • 原文地址:https://www.cnblogs.com/wukai66/p/11132874.html
Copyright © 2011-2022 走看看