zoukankan      html  css  js  c++  java
  • python_基础数据类型补充

    元祖:如果元祖中只有一个元素,且没有逗号,则该'元祖'与里面的数据的数据类型相同
    s = ([2,1])
    print(type(s))

    列表:列表可以相加
    l1 = [1,2]
    l2 = ['a','b']
    print(l1+l2)

    字典
    创建字典有三种方式
    dic =
    dic1 = dict({'age':18}){'name':'alex'}
    fromkeys
    param:可迭代对象,值
    fromkeys 创键的字典都是指向同一个内存
    dic2 = dict.fromkeys('abc',1)
    print(dic,dic1,dic2)

    dic = dict.fromkeys('abc',[1,2,3])
    dic['a'].append(1)
    print(id(dic['a']))
    print(id(dic['b']))
    print(id(dic['c']))

    数据类型转换
    dic = {'name':'alex','age':13}
    print(list(dic.keys()))
    print(list(dic.values()))
    print(list(dic.items()))

    元祖和列表可以互相转换
    tu1 = (1,2)
    li = [3,4,['a','b']]
    print(list(tu1))
    print(tuple(li))

    字典转换成列表,只把字典的键转换成列表,列表不能转换成字典
    dic = {'name':'alex','age':18}
    li = [1,2]
    print(list(dic))
    print(dict(li))

    集合
    集合要求里面元素必须是不可变的数据类型
    但是集合本身是可变的数据类型,集合里面是无序的,不重复的

    列表去重可转换成set
    li = [1,2,3,4,2,3,4]
    l1 = set(li)
    print(l1)

    set1 = {1,2,3,4,5}
    set2 = {4,5,6,7}

    set1.add('l')
    set1.update('abc')
    print(set1)


    set1.pop() #随机删除
    set1.remove(2) #根据元素删除
    set1.clear() #清空
    del set1 #删除内存中的集合
    print(set1)

    关系测试
    交集
    print(set1 & set2)
    print(set1.intersection(set2))

    并集
    print(set1 | set2)
    print(set1.union(set2))

    反交集
    print(set1 ^ set2)
    print(set1.symmetric_difference(set2))

    差集
    print(set1-set2)
    print(set2-set1)
    print(set1.difference(set2))
    print(set2.difference(set1))

    子集与超集
    a = {1,2,3}
    b = {1,2,4,3}
    print(a<b)
    print(a.issubset(b))
    print(b.issuperset(a))

    冻集合:不可变的数据类型
    c = frozenset(set1)
    print(c.add(9))
    print(type(frozenset(set1)))

    列表切片是浅copy
    l1 = [12,3,2,3,[1]]
    l2 = l1[:]
    l1[4].append(6)
    print(l1,l2)

    浅copy:
    对于浅copy来说,第一层创建的是新的内存地址,而从第二层开始,
    指向的都是同一个内存地址,所以,对于第二层以及更深的层数来说,保持一致性。

    深copy
    对于深copy来说,两个是完全独立的,改变任意一个的任何元素(无论多少层),另一个绝对不改变。
     
     
  • 相关阅读:
    [BJWC2010]外星联络
    [NOI2015]品酒大会
    工艺 /【模板】最小表示法
    [NOI2016]优秀的拆分
    [HEOI2016/TJOI2016]字符串
    [SDOI2016]生成魔咒
    【模板】后缀自动机 (SAM)【SA解法】
    [湖南集训]图森
    [USACO17DEC]Standing Out from the Herd P
    Annihilate
  • 原文地址:https://www.cnblogs.com/echo-up/p/9455347.html
Copyright © 2011-2022 走看看