zoukankan      html  css  js  c++  java
  • 元祖,字典,集合内置方法和深浅拷贝

    元祖内置方法

    元祖

    只可取,不可更改的列表

    作用

    元祖一创建就被写死

    定义方式

    ()内用逗号隔开多个元素(可以为任意数据类型)
    如果元祖只有一个元素,必须加逗号

    使用方法

    1.索引取值

    tup = tuple((1,2,3))
    print(tup[0]) ##1
    

    2.索引切片

    tup = tuple((1,2,3))
    print(tup[0:3]) ##(1,2,3)
    

    3.for循环

    tup = tuple((1,2,3))
    for i in tup:
    	print(i)
    

    4.成员运算

    tup = tuple((1,2,3))
    print(0 in tup) ##False
    

    5.len()长度

    tup = tuple((1,2,3))
    print(len(tup)) ##3
    

    6.index()获取元素索引

    tup = tuple((1,2,3))
    print(tup.index(1)) ##0
    

    7.count()计数

    tup = tuple((1,2,3))
    print(tup.count(2)) ##1
    

    有无序

    有序

    可不可变

    不存在可不可变

    字典内置方法

    作用

    存储多个数据,对每一个数据具有描述

    定义方式

    {}内用逗号隔开多个键key(具有描述意义,不能为可变数据类型):值value(任意数据类型)对

    使用方法

    1.按key取值/按key修改值

    dic = {'a':1,'b':2,'c':3}
    print(dic['a']) ##1 取值
    dic['b'] = 4
    print(dic) ##{'a': 1, 'b': 4, 'c': 3} 修改值
    

    2.没有就添加,有就修改

    dic = {'a':1,'b':2,'c':3}
    dic['d'] = 4
    print(dic) ##{'a': 1, 'b': 2, 'c': 3, 'd': 4}
    

    3.for循环

    dic = {'a':1,'b':2,'c':3}
    for i in dic:
    	print(i) ##循环key
    

    4.成员运算

    dic = {'a':1,'b':2,'c':3}
    print('a' in dic) ##True
    

    5.len()长度

    dic = {'a':1,'b':2,'c':3}
    print(len(dic)) ##3
    

    6.keys()/values()/items()

    dic = {'a':1,'b':2,'c':3}
    print(dic.keys()) ##dict_keys(['a', 'b', 'c'])
    print(dic.values()) ##dict_values([1, 2, 3])
    print(dic.items()) ##dict_items([('a', 1), ('b', 2), ('c', 3)])
    for k,v in dic.items():
    	print(k,v)
    ##  a 1
    	b 2
    	c 3
    

    get()取值

    dic = {'a':1,'b':2,'c':3}
    print(dic.get('b',1)) ##2
    

    update()扩展字典

    dic1 = {'a': 1, 'c': 2}
    dic2 = {'b': 1, 'd': 2}
    dic1.update(dic2)
    print(dic1) ##{'a': 1, 'c': 2, 'b': 1, 'd': 2}
    

    fromkeys()创建一个值为None的字典

    print(dict.fromkeys(dict.fromkeys([1,2,3,4])))
    ##{1: None, 2: None, 3: None, 4: None}
    

    setdefault()有就不修改,没有就增加

    dic = {'a':1,'b':2,'c':3}
    dic.setdefault('j',2)
    dic.setdefault('a',2)
    print(dic) ##{'a': 1, 'b': 2, 'c': 3, 'j': 2}
    

    有无序

    无序

    可不可变

    可变

    集合内置方法

    作用

    1.进行交集/并集/补集/差集运算
    2.去重
    3.乱序

    定义方式

    **{}内以逗号隔开多个元素(不能为可变数据类型)

    使用方法

    pythoners = {'jason', 'nick', 'tank', 'sean'}
    linuxers = {'nick', 'egon', 'kevin'}

    交集

    print(pythoners & linuxers)
    

    并集

    print(pythoners | linuxers)
    

    补集

    print(pythoners ^ linuxers)
    

    差集

    print(pythoners - linuxers)
    

    add()添加

    pythoners.add('aacc')
    print(pythoners) ##{'sean', 'nick', 'aacc', 'tank', 'jason'}
    

    remove()没有报错/discard()没有不报错

    pythoners = {'jason', 'nick', 'tank', 'sean'}
    pythoners.remove('oscar1')
    print(pythoners) ##报错
    pythoners.discard('oscar1')
    print(pythoners) ##不报错
    

    pop()随机删除一个

    pythoners = {'jason', 'nick', 'tank', 'sean'}
    pythoners.pop()
    print(pythoners) ##随机删除
    

    有无序

    无序

    可不可变

    可变

    数据类型总结

    存一个值

    整型/浮点型/字符串

    存多个值

    列表/元祖/字典/集合

    有序

    字符串/列表/元祖

    无序

    字典/集合

    可变

    列表/字典/集合

    不可变

    整型/浮点型/字符串/元祖

    深浅拷贝

    拷贝

    当lt2为lt1的拷贝对象,lt1内部的不可变数据变化,lt2变;lt1内部的可变数据变化,lt2变

    浅拷贝

    当lt2为lt1的浅拷贝对象时,lt1内部的不可变元素变化,lt2不变;lt1内部的可变元素变化,lt2变

    深拷贝

    当lt2是lt1的深拷贝对象时,lt1内部的不可变类型变化,lt2不变;lt1内部的可变类型变化,lt2不变

  • 相关阅读:
    使用自绘控件详细步骤转
    对话框上如何创建视图
    c++ 分割字符串存入数组
    在对话框上创建视图的报错》ASSERT(pParentFrame == pDesktopWnd || pDesktopWnd>IsChild(pParentFrame))
    CMFCOutlookBarTabCtrl 不显示了
    常用加密算法概述
    [两个月,黎巴嫩]贝鲁特守望
    [C#]XmlDocument_修改xml文件操作.
    wordpress之客户端发布文章
    大二上躺平经验
  • 原文地址:https://www.cnblogs.com/793564949liu/p/11529632.html
Copyright © 2011-2022 走看看