• python 列表/字典/集合的方法


     

     列表:

    # -*- coding: utf-8 -*-
    import copy
    names = ["aa","bb","cc","dd",]
    
    
    
    '''
    查询
    '''
    #切片
    
    print(names[1:3])
    
    
    # 取最后一个元素
    print(names[-1])
    
    #取 第二个元素之后的所有元素
    print(names[2:])
    
    #每隔一个元素取一个
    print("间隔取值:", names[::2])
    
    '''
    添加
    '''
    
    #追加 一个元素
    names.append("ee")
    print(names)
    
    # 插入一个元素
    names.insert(2, "ff")
    print(names)
    
    
    '''
    删除
    '''
    # 通过value 删除
    names.remove("dd")
    print("delete",names)
    
    # 通过下标删除
    del names[0]
    print("delete index :",names)
    
    # 删除最后一个元素,也可指定下标删除指定下标的元素
    names.pop()
    print("delete pop",names)
    '''
    修改
    '''
    
    names[2] = "gg"
    print(names)
    
    #获取index 
    print(names.index("bb" ))
    
    names.append("ee")
    names.append("ee")
    #获取一个元素在列表中的个数
    print("ee 的数量:",names.count("ee"))
    
    
    # 反转列表
    names.reverse()
    print(names)
    
    # 排序
    names.sort()
    print(names)
    
    # 合并连个list
    name2 = [1,2,3]
    names.extend(name2)
    print(names)
    
    
    #copy 3种方法
    test = ["qq","ww","ee","rr",[1,2,3]]
    test1 = test.copy()
    test2 = test[:]
    test3 = list(test)
    print("test2 :",test2)
    #修改 test 列表中子列表的值
    test[4][0]=5
    print("test2 :",test2)
    '''
    我们看到,当修改test 子列表的值以后,test2的子列表的值也发生了改变,
    这是因为test 的子列表实际存储的是子列表在内存中的地址,而test与test2 指向同一个地址,当地址的数据发送改变,
    test2 的数据也发生了改变
    
    浅copy 有的场景非常有用,比如 有一瓶水,两个人喝,两个人消耗同一瓶水,但是两个人的名字不一样:
    
    source = [name,['water',100]]
    p1 =  source.copy()
    p2 =  source.copy()
    
    p1[0] = "小明"
    p2[0]="旺财"
    
    #假如小明喝了10单位的 水
    p1[1][1] = 90
    
    #旺财看水的时候就剩90 单位的水了
    '''
    #完全copy 要导入 copy ,使用下边的方法
    test2 = copy.deepcopy(test)
    test[4][1] = 77
    print(test)
    print(test2)
     
    
    
    #获取 列表的长度
    
    
    print(len(names))
    
    #删除 name2 这个列表
    #del name2
    #print(name2)
    列表

    字典:

    # -*- coding: utf-8 -*-
    
    '''
    1.字典是无序的
    2.字典的key是唯一的,所以可以去重
    
    '''
    
    #定义字典
    info = {
            "stu1":"xiaoQiang",
            "stu2":"wangcai",
            "stu3":"wangwang",
            
            }
    
    print("1 :",info)
    
    #修改
    info["stu1"]="小强"
    
    print("modify :",info)
    
    
    #update方法是将两个字典进行合并,如果有重复的key,则会使用update 传的字典的值进行更新
    b={
       "stu1":"aa",
       "stu22":"bb",
       "stu23":"cc",
       }
    info.update(b)
    print("update :",info)
    
    #删除 的两种方法
    del info["stu2"]
    print("3 :",info)
    
    info.pop("stu3")
    print("4 :",info)
    
    
    info = {
            "stu1":"xiaoQiang",
            "stu2":"wangcai",
            "stu3":"wangwang",
            
            }
    
    
    #遍历
    for k in info:
        print(k,"  ",info[k])
    
    
    #获取
    print("5 ",info.get("stu1"))
    
    
    
    #获取所有的 values
    print(info.values())
    
    #获取所有的keys
    print(info.keys())
    
    #将字典转换成列表
    print(info.items())
    
    
    #初始化一个新的字典 结果为{8: 'test', 9: 'test', 7: 'test'}
    c=dict.fromkeys([7,8,9],"test")
    print(c)
    字典

    集合:

    # -*- coding: utf-8 -*-
    
    '''
    1.集合中没有重复的数据,可以去重
    2.集合是无序的
    '''
    
    list =[1,1,9,6,8,7,5,5,4]
    
    list_1 = set(list)
    print(list_1)
    
    
    list_2 = set([1,6,7,8,12,3,56])
    
    #获取交集 结果 {8, 1, 6, 7}
    print("交集:")
    print(list_1.intersection(list_2))
    print(list_1 & list_2)
    
    
    #并集 , 结果 {1, 3, 4, 5, 6, 7, 8, 9, 12, 56}
    print("并集:")
    print(list_1.union(list_2))
    print(list_1 | list_2)
    
    
    
    #差集, 结果{9, 4, 5}
    print("差集:")
    print(list_1.difference(list_2))
    print(list_1-list_2)
    
    
    
    #子集 结果为 false
    print(list_1.issubset(list_2))
    
    
    
    #获取两个集合中没有重叠的部分 {3, 4, 5, 9, 12, 56}
    print(list_1.symmetric_difference(list_2))
    print(list_1 ^ list_2)
    
    
    
    #没有交集返回true
    print(list_1.isdisjoint(list_2))
    
    
    #添加一个元素, 结果 {1, 4, 5, 6, 7, 8, 9, 22}
    list_1.add(22)
    print(list_1)
    
    
    list_1.remove(22)
    print(list_1)
    
    
    #获取集合长度
    print(len(list_1))
    
    
    
    #检查x是否是集合的成员 结果为true , 列表集合字符串都可以用这个方法
    x=5
    print(x in list_1)
    
    #检查x是否不是集合的成员 结果为false
    print(x not in list_1)
    
    
    #删除集合中的一个元素,如果元素不存在不会报错而remove 会报错
    list_1.discard("a")
    集合
  • 相关阅读:
    ASP.NET Core 从入门到精通-资源收集导航
    【5分钟系列】计算机系统结构的定义
    C#反射与特性(九):全网最全-解析反射
    C#反射与特性(七):自定义特性以及应用
    C#反射与特性(六):设计一个仿ASP.NETCore依赖注入Web
    C#反射与特性(五):类型成员操作
    C#反射与特性(四):实例化类型
    C#反射与特性(三):反射类型的成员
    C#反射与特性(二):探究反射
    安卓TabLayout+ViewPager实现切页
  • 原文地址:https://www.cnblogs.com/gaizhongfeng/p/7514692.html
Copyright © 2020-2023  润新知