列表+元组+字典

  • 一、列表

    1、列表的创建

    #列表创建方式
    方式一
    li = [1,'a',2,'b',1,2,3,6,9,88,66]
    方式二
    lo = list()
    lo = list('dnfopfjffnashdijinilhinsfs')
    

    2、列表操作--增

    #列表增删查改
    li = ['张三','李四','王老五']
    
    #增append,默认在最后添加
    li.append('吴老板')
    print(li)
    #结合whlie使用
    while 1:
        name = input('请输入新员工名字:输入Q|q、退出:')
        if name.upper() == 'Q':break
        li.append(name)
    print(li)
    
    #insert 指定位置添加
    li.insert(2,'xxx')
    print(li)
    
    #extend 迭代式添加,默认在最后添加
    li.extend('aaaaa')
    print(li)
    输出:['张三', '李四', '王老五', 'a', 'a', 'a', 'a', 'a']
    
    #迭代式添加多个
    li.extend(['aaaaa','b',3])
    print(li)
    

    3、列表操作--删除

    li = ['张三','张三','张三','李四','王老五']
    #列表删除、pop,默认删除最后一个
    li.pop()
    print(li)
    
    #指定索引删除
    #删除第二个,还可以返回删除的元素
    print(li.pop(1))
    print(li)
    
    #指定元素删除,有相同元素默认删除第一个
    li.remove('张三')
    print(li)
    
    #清空列表
    li.clear()
    print(li)
    
    #del
    	#按照索引删
        del li[2]
        #按照切片删
        del li[::2]
        
    
    
    1.  4、列表的嵌套
    
    ```python
    #嵌套列表
    li = ['a','b',['n',1,345,6,5]]
    print(li[-1][0])
    #对小列表拼接
    li = ['a','b',['n',1,345,6,5]]
    str_new = li[-1][0] + 'b'
    print(str_new)
    
    #嵌套列表再嵌套
    li = ['a','b',['n',1,345,6,5,[100,11,33,55,44]]]
    print(li[2][-1][0])##输出是100
    
    li = ['a','b',['n',1,345,6,5,[100,11,33,55,'a']]]
    print(li[2][-1][-1].upper())
    

    二、元组(用的不多,py才有)

    特性:

    1、只读列表(没有增删改)

    2、可存大量数据

    3、 可索引、切片

    定义:
    #列表是[],元组是()
    #元组不可以改,但是里面的[列表]可以修改
    yz = (1,'a',2,['d',1])
    print(yz[3])
    
    #改元组的列表
    yz = (1,'a',2,['d',1])
    yz[-1].append(5)
    print(yz)
    #应用:用户名密码
    

    三、range

    定义:类似于列表,自定义数字范围的数字列表

    r = range(10) #类似[0,1···,9]
    for i in r:
        print(i)
        
    li = range(5)
    print(li[1:3]) 
    输出:range(1, 3)
    

    四、字典

    • key必须是不可变的数据类型:int,str
    • value可以是任意数据类型,对象
    • 字典3.5(包括3.5)之前是无序的
    • 3.6x会啊按照初次建立字典的顺序排列,学术上不认为是有序的
    • 3.7x以后都是有序的
    • 字典的优点:查询速度快,存储关联性的数据
    • 字典的缺点:以空间换时间

    一、定义

    定义:
    dic = {'key':'value','key1':'value2','key3':['a','b','c','d']}
    
    创建方式一:
    dict关键字创建
    dic = dict((('a',1),('b',2),('c',3)))
    print(dic) ##{'a': 1, 'b': 2, 'c': 3}
    
    创建方式二:
    dic = dict(a=1,b=2,c=3)
    print(dic) ##{'a': 1, 'b': 2, 'c': 3}
    
    创建方式三:
    dic = dict({'a':1,'b':2,'c':3})
    print(dic) ##{'a': 1, 'b': 2, 'c': 3}
    

    二、增

    #通过key = value的方式新增
    #新增规则:有则改之,无则新增
    dic = dict(a=1,b=2,c=3)
    dic ['d'] = '4'
    print (dic)
    
    #只新增key,那么value默认Node
    #setdefault:有则不变,无则新增
    dic = dict(a=1,b=2,c=3)
    dic.setdefault("d")
    print (dic)
    

    三、删

    #pop按照key删除
    dic = dict(a=1,b=2,c=3)
    dic.pop("c")
    print (dic)
    
    #pop,可设置第二个参数,如果没有要删除的key,不会报错
    dic = dict(a=1,b=2,c=3)
    r = dic.pop("f","没有这个key")
    print (r)
    #输出结果:没有这个key
    
    #clear,清空字典,字典还在
    dic = dict(a=1,b=2,c=3)
    dic.clear()
    print(dic)
    
    #del,输入key删除,没有key会报错
    

    四、改

    dic = dict(a=1,b=2,c=3)
    dic['a']=11
    print(dic)
    

    五、查

    #通过key查询,没有该key,报错
    dic = {'a':1,'b':2,'c':[3,4,5]}
    print(dic['c'])
    #输出:[3, 4, 5]
    
    #get查询
    dic = {'a':1,'b':2,'c':[3,4,5]}
    ll = dic.get('a')
    print(ll)
    
    #get查询没有key,可以自定义返回值,输出:没有该key
    dic = {'a':1,'b':2,'c':[3,4,5]}
    ll = dic.get('aaaa','没有该key')
    print(ll)
    
    
    #获取所有的key
    dic = {'a':1,'b':2,'c':[3,4,5]}
    ll = dic.keys()
    
    #获取所有的value
    dic = {'a':1,'b':2,'c':[3,4,5]}
    ll = dic.values()
    
    #items,输出三个元组
    dic = {'a':1,'b':2,'c':[3,4,5]}
    ll = dic.items()
    for i in ll:
        print(i)
        
    for便利输出key,value
    dic = {'a':1,'b':2,'c':[3,4,5]}
    ll = dic.items()               
    for key,value in ll:           
        print(key,value )          
    
posted @ 2020-08-28 09:09  taotaozh  阅读(118)  评论(0编辑  收藏  举报