zoukankan      html  css  js  c++  java
  • 字符串、列表、元祖、字典、集合、数字类型

    列表:

         1.作用: 存多个元素/女朋友的名字/男朋友/兴趣爱好/私生子的名字
         2.定义方式:[]内用逗号隔开任意数据类型的元素
         ruixing_bastard_list = ['小黑fish', '小胖pig', '小黄cat', '阿福tiger', '旺财dog']
        ruixing_bastard_list1 = list(['小黑fish', '小胖pig', '小黄cat', '阿福tiger', '旺财dog'])
        s_list = list('sdfsdf')
        print(s_list)
         3.方法:
         优先掌握
         按索引取值(正向取值+反向取值),即可存也可以取
        ruixing_bastard_list = ['小黑fish', '小胖pig', '小黄cat', '阿福tiger', 'xiaobopi']
                             0           1         2        3           4
    
    
    print(ruixing_bastard_list[3])
    ruixing_bastard_list[0] = '旺财dog'
    print(ruixing_bastard_list)
    print('*' * 50)
    
    切片
    print(ruixing_bastard_list[-1])
    print(ruixing_bastard_list[1:3:2])
    print(ruixing_bastard_list[-2:])
    print('*' * 50)
    
    长度len
    print(len(ruixing_bastard_list))
    
    成员运算in和not in
    
    print('fanping' not in ruixing_bastard_list)
    print('小黄cat' in ruixing_bastard_list)
    
    追加append # 在列表最后加入一个值
    print(ruixing_bastard_list.append('凡平person'))
    print(ruixing_bastard_list)
    
    删除del
    del ruixing_bastard_list[-1]
    print(ruixing_bastard_list)
    
    循环
    for i in ruixing_bastard_list:
        print(i)
    
    需要掌握
    zhiqiang_shuaige_list = ['胡歌', '蔡徐坤', '霍建华', '天承', 'nick']
    insert  # 在索引前面插入一个值
    zhiqiang_shuaige_list.insert(1,'qiaobenai')
    print(zhiqiang_shuaige_list)
    
    pop # 默认删除最后一个值,删除指定索引的值
    zhiqiang_shuaige_list.pop()
    zhiqiang_shuaige_list.pop(-1)
    print(zhiqiang_shuaige_list)
    
    remove  # 如果删除对象不存在则报错,按照指定的元素删除
    zhiqiang_shuaige_list.remove('qiaobenai')
    print(zhiqiang_shuaige_list)
    
    count  # 获取指定元素的个数
    zhiqiang_shuaige_list.append('胡歌')
    print(zhiqiang_shuaige_list)
    print(zhiqiang_shuaige_list.count('胡歌'))
    
    index # 获取指定元素的索引,但是只会获取第一次
    print(zhiqiang_shuaige_list.index('胡歌'))
    print(zhiqiang_shuaige_list)
    
    clear # 清空列表
     zhiqiang_shuaige_list.clear()
     print(zhiqiang_shuaige_list)
    
     copy # 复制
    print(zhiqiang_shuaige_list.copy())
    print(zhiqiang_shuaige_list)
    
    extend  # 扩展,把extend里的列表的元素添加到原列表中
    zhiqiang_shuaige_list.extend(['qiaobenai','longzeluola'])
    zhiqiang_shuaige_list.extend('qiaobenai')
    print(zhiqiang_shuaige_list)
    
    reverse # 反转列表
    zhiqiang_shuaige_list.reverse()
    print(zhiqiang_shuaige_list)
    
    sort # 排序列表
    zhiqiang_shuaige_list.sort()
    print(zhiqiang_shuaige_list)
    

    4.存储一个值or多个值: 多个值
    5.有序or无序: 有序
    6.可变or不可变: 可变

    lis = [1,2,3]
    print(id(lis))
    lis.append(4)
    print(id(lis))

    元祖
    1.作用:类似于列表,只不过元祖只能取不能改
    2定义方式:()内用逗号隔开任意数据类型的元素

    import random
    print(random.randint(1,36))
    wenyi_machachong_tuple=('chang', 'tiao', 'rap', 'xiaoluoli', 'renyao')
    wenyi_machachong_tuple1=tuple(('chang', 'tiao', 'rap', 'xiaoluoli', 'renyao'))
    wenyi_machachong_tuple2=tuple('abcd')
    print(wenyi_machachong_tuple2)
    

    3.方法:

        1索引取值
    print(wenyi_machachong_tuple[-2])
        2切片(顾头不顾尾,步长)
     print(wenyi_machachong_tuple[:])
        3 长度len
     print(len(wenyi_machachong_tuple))
         4成员运算in和notin
     print('zhuping'not in wenyi_machachong_tuple)
         5循环
     for i in wenyi_machachong_tuple:
         print(i)   
         6 count 获取指定元素的个数     
     wenyi_machachong_tuple=('xiaoluoli','xiaoluoli')
     print(wenyi_machachong_tuple.count('xiaoluoli'))
         7 index 获取指定元素的索引值:
     print(wenyi_machachong_tuple.index('xiaoluoli')
    

    4.存储一个值or多个值: 多个值
    5有序or无序:有序

     wenyi_machachong_tuple=('xiaoluoli','xiaoluoli')
     print(id(wenyi_machachong_tuple))
     wenyi_machachong_tuple=('sdf')
     print(id(wenyi_machachong_tuple))
    

    以后只使用列表,从来没有看过元祖

    字典
    1作用:当列表存在很多值的时候,列表会显得章乱,所以有了字典
    2定义方式:{}内以逗号分隔开多个键值对key:value的值,key一般为字符串,key一般对值具有描述意义,value可以是任意数据类型的值,
    import random

     随机取值:
     /###for i in range(257, 300):
         id_str = str(id(i))[-2:]
         id_int = int(id_str)
         if id_int <= 36 and id_int >= 1:
             print(id_int)
             break
         print(id_int // 3)
         break
    kingzong_info_dict = {'name': 'liujin',
                          'weight': 180,
                          'height': 150,
                          'hobby_list': ['chi', 'he', 'piao', 'du']
    

    3:方法

     按key存取值,可存可取
    print(kingzong_info_dict['height'])
    kingzong_info_dict['height'] -= 1
    print(kingzong_info_dict)
    print('*' * 50)
     长度len
    print(len(kingzong_info_dict))
    print('*' * 50)
     成员运算in和not in # 比较的是key
    print(180 in kingzong_info_dict)
    print('weight' in kingzong_info_dict)
    print('*' * 50)
     删除del
    del kingzong_info_dict['height']
    print(kingzong_info_dict)
    print('*' * 50)
     键keys()、值values()、键值对items()(**********), # 把取出的所有值当成列表
    print(kingzong_info_dict.keys())  # 输出所有的key
    print(kingzong_info_dict.values())  # 输出所有的kvalue
    print(kingzong_info_dict.items())  # 输出所有的键值对
    print('*' * 50)
     循环
    for k, v in kingzong_info_dict.items():
        print(k, v)
    

    需要掌握

     get # 如果键不存在,返回None,不会报错;如果键不存在,可以给定默认值
    
    print(kingzong_info_dict['weight'])
     print(kingzong_info_dict['height'])
    print(kingzong_info_dict.get('weight'))
    print(kingzong_info_dict.get('height', 100))
     update # 有就更新,没有则添加
    dic = {'weight': '90', 'height': 100}
    kingzong_info_dict.update(dic)
    print(kingzong_info_dict)
    print('*' * 50)
    print('*' * 50)
    print('*' * 50)
    print('*' * 50)
     fromkeys  # 默认把给定列表内的元素取出来当成key,然后使用一个默认value新建一个字典 (*)
    dic = dict.fromkeys(['a','b','c','d','e'], 1)
    "{'a':1,'b':1,'c':1,'d':1,'e':1}"
    print(dic)
     setdefault # 如果字典中有该key的话,则key对应的值不变;如果没有,则增加
    kingzong_info_dict.setdefault('a','b')
    kingzong_info_dict.setdefault('height','b')
    print(kingzong_info_dict)
    

    4.存储一个值or多个值: 多个值
    5.有序or无序: 无序
    6.可变or不可变:可变
    dic = {'a':'b'}
    print(id(dic))
    dic.setdefault('c','d')
    print(id(dic))

    集合:
    1作用:存储多个值
    2定义方式:{}内以逗号隔开多个元素,这个元素必须是不可变类型(不是任意的),不可哈希就是可变,可哈希就是不可变
    s1={1,1,2,3,"a"}
    print(s1)
    s2=set()
    s2.add(2)
    print(s2)
    3.方法:

     1去重
     去重的同时,打乱了列表元素原有的顺序
    l1=[1,2,1,2,3,5,100,0,-100]
    print(set(l1))
    print(list(l1))
    print(list(set()))
    长度len
    pythoner = {'fanping', 'wangdapao', 'wangwu', 'zhaoliu', 'zhangsan', 'wangba'}
    linuxer = {'ruiixng', 'lisi', 'wangba', 'wangdapao'}
    print(len(pythoner))
    print(len(linuxer))
    成员运算in 和 not in
    print('fangping'in pythoner)
    |并集,union
    print(pythoner|linuxer)
    print(pythoner.union(linuxer))
    &交集,intersection
    print(pythoner&linuxer)
    print(pythoner.intersection(linuxer))
    -差集difference
    print(pythoner-linuxer)
    print(pythoner.difference(linuxer))
    ^对称差集,symmetric_differece
    print(pythoner^linuxer)
    
    print(pythoner.symmetric_difference(linuxer))
    ==
    print(pythoner==linuxer)
    print('*'*50)
    父集:>,>=,issuperset
    print(pythoner>linuxer)
    print(pythoner.issuperset(linuxer))
     子集:<、<= 、issubset
    print(pythoner<linuxer)
    print(pythoner.issubset(linuxer))
    需要掌握:
    add #添加元素
    print('*'*50)
    s=set()
    s.add('a')
    print(s)
    remove移除元素,元素不存在则报错
    print('*'*50)
    s.remove('a')
    print(s)
    difference_update
    pythoner = {'fanping', 'wangdapao', 'wangwu', 'zhaoliu', 'zhangsan', 'wangba'}
    linuxer = {'ruiixng', 'lisi', 'wangba', 'wangdapao'}
    pythoner.difference_update(linuxer)
    print(pythoner)
    discard
    print('*'*50)
    python.discard('fanping')
    print(pythoner.discard('nick'))
    print(pythoner)
     isdisjoint
    print(pythoner.isdisjoint(linuxer))
    

    4.存储一个值or多个值: 多个值
    5.有序or无序: 无序
    6.可变or不可变:可变
    s = {1, 21}
    print(id(s))
    s.add(3)
    print(id(s))

    拷贝

    lis = [1,2,3,4]
    lis2 = lis  # 最基本的拷贝
    
    lis.append(5)
    print(lis)
    print(lis2)
    [1, 2, 3, 4, 5]
    [1, 2, 3, 4, 5]
    ---------------
    x = 10
    y = x
    x+=1
    print(x)
    print(y)
    11
    10
    

    浅拷贝

    import copy
    
    lis = [1, 2, 3, 4, [5, 6, 7]]
    lis2 = copy.copy(lis)
    print(lis)
    print(lis2)
    [1, 2, 3, 4, [5, 6, 7]]
    [1, 2, 3, 4, [5, 6, 7]]
    -----------------------------
    lis.append(8)
    print(lis)
    print(lis2)
    [1, 2, 3, 4, [5, 6, 7], 8]
    [1, 2, 3, 4, [5, 6, 7]]
    ------------------------------
    lis[4].append(8)
    print(lis)
    print(lis2)
    [1, 2, 3, 4, [5, 6, 7, 8], 8]
    [1, 2, 3, 4, [5, 6, 7, 8]]
    ------------------------------
    print(id(lis[0]))
    print(id(lis[1]))
    print(id(lis[2]))
    print(id(lis[3]))
    print(id(lis[4]))
    
    print(id(lis2[0]))
    print(id(lis2[1]))
    print(id(lis2[2]))
    print(id(lis2[3]))
    print(id(lis2[4]))
    -------------------
    1412722144
    1412722176
    1412722208
    1412722240
    42282760
    1412722144
    1412722176
    1412722208
    1412722240
    42282760
    --------------
    lis[0] += 1
    print(lis)
    print(lis2)
    [2, 2, 3, 4, [5, 6, 7, 8], 8]
    [1, 2, 3, 4, [5, 6, 7, 8]]
    

    浅拷贝

    l1 = ['a', 'b', 'c', ['d', 'e', 'f']]
    import copy
    l2 = copy.copy(l1)
    print(f"id(l1[0]): {id(l1[0])}")
    print(f"id(l1[1]): {id(l1[1])}")
    print(f"id(l1[2]): {id(l1[2])}")
    print(f"id(l1[3]): {id(l1[3])}")
    a
    33619896
    ab
    38371488
    --------------------------------
    print(f"id(l2[0]): {id(l2[0])}")
    print(f"id(l2[1]): {id(l2[1])}")
    print(f"id(l2[2]): {id(l2[2])}")
    print(f"id(l2[3]): {id(l2[3])}")
    
    l1[0]): a
    id(l1[0]): 33619896
    l1[0]): ab
    id(l1[0]): 38372272
    --------------------------------
    s = 'a'
    print(s)
    print(id(s))
    s += 'b'
    print(s)
    print(id(s))
    
    a
    33619896
    ab
    38371488
    --------------------------------
    print(f"l1[0]): {l1[0]}")
    print(f"id(l1[0]): {id(l1[0])}")
    l1[0] += 'b'
    print(f"l1[0]): {l1[0]}")
    print(f"id(l1[0]): {id(l1[0])}")
    
    l1[0]): a
    id(l1[0]): 33619896
    
    l1[0]): ab
    id(l1[0]): 38372272
    -------------------------
    print(f"l2[0]: {l2[0]}")
    print(f"id(l2[0]): {id(l2[0])}")
    
    l2[0]: a
    id(l2[0]): 33619896
    

    深拷贝

    import copy
    
    lis = [1,2,3,4,[5,6,7]]
    lis2 = copy.deepcopy(lis)
    
    print(id(lis[0]))
    print(id(lis[1]))
    print(id(lis[2]))
    print(id(lis[3]))
    print(id(lis[4]))
    
    1358982624
    1358982656
    1358982688
    1358982720
    40284872
    
    -----------------
    
    print(id(lis2[0]))
    print(id(lis2[1]))
    print(id(lis2[2]))
    print(id(lis2[3]))
    print(id(lis2[4]))
    
    1358982624
    1358982656
    1358982688
    1358982720
    40286280
    ------------------
    print(lis)
    print(lis2)
    
    [1, 2, 3, 4, [5, 6, 7]]
    [1, 2, 3, 4, [5, 6, 7]]
    
    -----------------------
    lis[0] +=1
    print(lis)
    print(lis2)
    
    [2, 2, 3, 4, [5, 6, 7]]
    [1, 2, 3, 4, [5, 6, 7]]
    
    --------------------------
    
    lis[4].append(8)
    print(lis)
    print(lis2)
    
    [2, 2, 3, 4, [5, 6, 7, 8]]
    [1, 2, 3, 4, [5, 6, 7]]
    
    
  • 相关阅读:
    Python中的赋值(复制)、浅拷贝与深拷贝
    review
    Python网络编程
    云计算网络 ASW DSW CSW LSW
    Python文件操作 I/O
    RSI 指标
    python 常见模块
    Python模块和包
    读利弗莫尔
    GDP、CPI、M2
  • 原文地址:https://www.cnblogs.com/zhuyuanying123--/p/10920195.html
Copyright © 2011-2022 走看看