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

本文详细介绍了Python中的元组、字典和集合数据结构。元组不可变,常用于存储不可修改的数据。字典是可变的键值对集合,允许快速查找。集合也是无序且不重复的元素集合,主要用于去重和关系测试。文中通过实例讲解了它们的创建、操作、区别以及与其他数据类型的比较。
摘要由CSDN通过智能技术生成

4.3. 元组

        4.3.1. 概念:

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

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

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

4.3.3. 元组操作

        创建格式:tuplename=(element1 ,  element2 , ……, elementn) 元组中元素个 数无限制,类型可以都不相同,例:
num1 = (2, 3, 4, 5, 6)
num2 = (1,)  # 创建一个元素的元组,重要
num3 = (1)  # 不是元祖,只是数值为1的对象
num4 = ()  # 空元组
num5 = tuple(range(0, 20, 2))  # 使用
# tuple()函数创建数值元祖,当前为偶数元组
string1 = ('china', 'hello', 'world')
string2 = (82, 'python', [1, 2, 3, 4])

string3 = 'python', '你好', '人生苦短'
# (注意:圆括号可以省略)
删除整个元组: del tuplename
元组是不可变序列,不支持单个元素修改,但可以重新整体赋值修改
tup1 = (12, 34.56)
tup2 = ('abc','xyz')
tup1[0] = 100 # 报错
tup1 = (23, 45, 78) # 整体重新赋值
tup3 = tup1 + tup2
元组只保证它的一级子元素不可变,对于嵌套的 元素内部,不保证不可变!
tup = ('a','b', ['A','B'])
tup[2][0] ='X'
tup[2][1] ='Y'
print(tup) # 显示:('a','b', ['X','Y'])
元组连接时必须维持元组,不能字符串或列表等
tup1 = (1, 2, 3)
list1 = [4, 5, 6]
tup2 = tup1 + list1 # 报错
tup3 = tup1 +'china' # 报错

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

tup1 = (1, 2, 3)
tup2 = tup1 + (4) # 报错 改为
tup2=tup1+(4,)
元组的读取 : 定义元组时使用(),若要读取元组 内容还是和列表一样使用 [ ] 配合索引完成读取
num1 = (1, 2, 3, 4, 5)
str1 = ('apple','orange')
print(num1[0], str1[1])
元组切片 : 与列表切片操作方式相同
import random

tp1 = tuple(random.sample(range(30),10))
print(tp1)
print(tp1[1:3])
print(tp1[:4])
print(tp1[5:])
print(tp1[-2:])
print(tp1[-3:3:-1])
print(tp1[0:5:3])
元组方法与函数:列表上会更改内容的函数都无 法使用
# 下列程序报错
 tp1 = (123,'hello','asckii')
num = tp1.pop() # pop() 函数用于随机移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
tp1 = (123,'hello','asckii')
print(len(tp1)) # len()正常使用
列表与元组数据互换
        list():转为列表
        tuple():装转为元组
tp1 = (123,'hello','999', 35.6)
list1 = list(tp1)
list1.append('china')
print(list1)
tp1 = tuple(list1)
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:为元素的值,可为任意数据、不需要唯一

4.4.3.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值