• Python---元组---字典---集合


    4.3. 元组

            4.3.1. 概念:

               在大型的商业网站或游戏设计中,列表是一种非常重要的数据类型,因为其记录了各种等级客 户、游戏角色,列表数据可以随时变动更新, python还提供另一组数据类型成为元组
    (tuple),这种数据类型结构与列表完全相同,但 最大差异是元素的值和个数不可更改,又 称不可变列表
            元组(tuple )使用圆括号()将一组不可变的 数据序列组合起来形成序列

    4.3.2. 元组中不允许的操作:

            修改、新增元素
            删除元素(但可以删除整个元组)
            所有会对元组内部元素发生修改动作的方法。例
            如,元组没有remove append pop 等方法

    4.3.3. 元组操作

            创建格式:tuplename=(element1 ,  element2 , ……, elementn) 元组中元素个 数无限制,类型可以都不相同,例:
    1. num1 = (2, 3, 4, 5, 6)
    2. num2 = (1,) # 创建一个元素的元组,重要
    3. num3 = (1) # 不是元祖,只是数值为1的对象
    4. num4 = () # 空元组
    5. num5 = tuple(range(0, 20, 2)) # 使用
    6. # tuple()函数创建数值元祖,当前为偶数元组
    7. string1 = ('china', 'hello', 'world')
    8. string2 = (82, 'python', [1, 2, 3, 4])
    9. string3 = 'python', '你好', '人生苦短'
    10. # (注意:圆括号可以省略)
    删除整个元组: del tuplename
    元组是不可变序列,不支持单个元素修改,但可以重新整体赋值修改
    1. tup1 = (12, 34.56)
    2. tup2 = ('abc','xyz')
    3. tup1[0] = 100 # 报错
    4. tup1 = (23, 45, 78) # 整体重新赋值
    5. tup3 = tup1 + tup2
    元组只保证它的一级子元素不可变,对于嵌套的 元素内部,不保证不可变!
    1. tup = ('a','b', ['A','B'])
    2. tup[2][0] ='X'
    3. tup[2][1] ='Y'
    4. print(tup) # 显示:('a','b', ['X','Y'])
    元组连接时必须维持元组,不能字符串或列表等
    1. tup1 = (1, 2, 3)
    2. list1 = [4, 5, 6]
    3. tup2 = tup1 + list1 # 报错
    4. tup3 = tup1 +'china' # 报错

    元组连接只有一个元素的元组时,必须加逗号

    1. tup1 = (1, 2, 3)
    2. tup2 = tup1 + (4) # 报错 改为
    3. tup2=tup1+(4,)
    元组的读取 : 定义元组时使用(),若要读取元组 内容还是和列表一样使用 [ ] 配合索引完成读取
    1. num1 = (1, 2, 3, 4, 5)
    2. str1 = ('apple','orange')
    3. print(num1[0], str1[1])
    元组切片 : 与列表切片操作方式相同
    1. import random
    2. tp1 = tuple(random.sample(range(30),10))
    3. print(tp1)
    4. print(tp1[1:3])
    5. print(tp1[:4])
    6. print(tp1[5:])
    7. print(tp1[-2:])
    8. print(tp1[-3:3:-1])
    9. print(tp1[0:5:3])
    元组方法与函数:列表上会更改内容的函数都无 法使用
    1. # 下列程序报错
    2. tp1 = (123,'hello','asckii')
    3. num = tp1.pop() # pop() 函数用于随机移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
    1. tp1 = (123,'hello','asckii')
    2. print(len(tp1)) # len()正常使用
    列表与元组数据互换
            list():转为列表
            tuple():装转为元组
    1. tp1 = (123,'hello','999', 35.6)
    2. list1 = list(tp1)
    3. list1.append('china')
    4. print(list1)
    5. tp1 = tuple(list1)
    6. print(tp1)

    4.3.4. 元组与列表的区别

            元组与列表都属于序列,都可以按照特定顺序存 储一组数据,类型不受限制
            列表类似使用铅笔在纸上书写的文字,可以擦 掉,元素类似钢笔写下的文字,不可擦除,只能 换一张纸重写

    区别

            列表为可变序列,元素可以随时修改和删除, 元组为不可变序列,元素不可修改和删除,除 非整体替换
            元组不支持append() extend() insert() 方法进行添加删除操作
            元组和列表一样支持切片操作,但仅能通过切 片进行访问
            元组比列表结构简单,占用资源少,程序运行速度快
            元组比列表安全,若存储一组不可修改的数据则可以使用元组

    4.4. 字典

            4.4.1. 概念:字典属于可变序列,使用 -key-value)的方式配对存储数 据,类似于新华字典中的拼音-汉字关系。

            4.4.2. 格式:dictionary={key1value1 key2value2 ……keynvaluen}

    •  dictionar为字典名称
    •  字典使用花括号{}作为标志
    •  key1、key2……keyn为元素的键,必须唯 一,且不可变,可以是字符串、数字、元组
    •  value1、value2……valuen:为元素的值,可为任意数据、不需要唯一

  • 相关阅读:
    用R语言实现神经网络预测股票实例
    汇编角度看函数返回大对象原理
    智慧油田解决方案-最新全套文件
    SpringCloud(三)Sentinel、Seata、多级缓存
    VUE之proxy配置实现跨域
    全链路压测:确保系统稳定性的关键一环
    3. 堪比JMeter的.Net压测工具 - Crank 进阶篇 - 认识bombardier
    第十三届蓝桥杯大赛软件赛省赛第二场(Java 大学A组)
    [计算机通信网络]子网掩码
    Go :针对高复杂度表达式的各种测试(附完整源码)
  • 原文地址:https://blog.csdn.net/Dream_weiwei/article/details/127556334