Python元组、字典、集合定义,及其功能函数的实现

本文详细介绍了Python中的三种数据结构——元组、字典和集合。元组是不可变的,用小括号定义,单元素元组需要尾随逗号。字典包含键值对,是可变的,通过键来访问数据。集合是具有去重功能的无序数据集,创建时数据只能是字符串类型。
摘要由CSDN通过智能技术生成

第一部分:元组

1、元组定义

:一个元组可以存储多个数据,且元组内的数据是不能修改的

特点:定义元组使用小括号,且逗号隔开各个数据,数据可以是不同数据类型 注意:如果定义的元组只有一个数据,那么这个数据的后面也要带逗号,否则数据类型就是这个数据的类型,不再是元组

2、元组的常见操作

注意:元组数据不支持修改,只支持查找,具体如下:
2.1、按下标查找
2.2、intex():查找某个数据,如果数据存在就返回对应的下标,否则报错
2.3、count():统计某个数据在当前元组中出现的次数
2.4、len():统计元组中数据的个数
再,注意:元组内如果有列表,修改列表中的数据是支持的
# 定义元组
t1 = ('you', 'are', 666, 'good')
print(t1[2])  # 元组可以利用下标输出特定数据
t2 = ('good',)  # 逗号不可省略,否则t2的数据类型是str,不再是tuple
# print(type(t2))

# index()
print(t1.index(666))

# count()
print(t1.count('you'))  # 输出元组中该数据的个数

# len()
print(len(t1))  # 元组中所有的数据个数

# 元组中的数据不可以直接修改,但是如果元组中含有列表,就可以修改列表数据
t3 = ('cool', ['haha', 'jizhi', 'ru', 'wo'],)
# t3[0] = 'good'  # 出错!
t3[1][2] = 'good'  # 列表内容可以修改
print(t3)

第二部分:字典

1、字典定义

:字典里面的数据是以键值对形式出现的,字典数据和数据顺序没有关系,故其不支持下标查找,后期无论数据如何变化,只需要
安装对应的键的名字查找数据即可

特点:符号为大括号;数据以键值对出现;各个键值对之间用逗号隔开。例:{键名1:值1, 键名2:值2}

  • 注意:字典为可变数据类型,空字典为:k2 = {}

2、字典常见操作:

2.1、增加:语法:字典序列[key]=值;如果key存在则修改其对应值,如果key不存在则新增此键值对。
2.2、删除:del 字典序列[需删除key]:删除字典或删除字典中指定键值对
          clear():清空字典
     查找:key值查找:print(字典序列[key])
          get():字典序列.get(key,默认值);如果当前查找的key不存在则返回第二个参数(默认值),若省略第二个参数
                  则返回None
          keys():返回键值对中所有的键值
          values():返回字典中的所有value
          items():返回字典中的所有键值对(以成队的形式呈现)
# 字典的定义
k1 = {'name': 'Tom', 'gender': 'men', 'age': '24'}
# print(k1)

# 键值对增加
k1['score'] = 98
# print(k1)

# 键值对删除
# del k1['gender']
# k1.clear()  # 注意其用法是:字典序列.clear()
# print(k1)

# 键值对查找
# print(k1['name'])  # 键值查找
# print(k1.get('score', 99))  # get()函数查找,查找失败才会返回默认值
# print(k1.keys())  # 输出k1所有key
# print(k1.values())  # 输出k1所有value
# print(k1.items())  # 输出所有键值对

# 键值对循环输出
for i in k1.items():
    print(i)

# 键值对遍历之拆包
for key, value in k1.items():
    print(f'{key}: {value}')  # for 循环遍历键值对时可以设置两个参数,如左边所示

第三部分:集合

1、集合定义

:创建集合使用{}或set(),但是如果要创建空集合只能使用set(),因为{}用来创建空字典
特点:具有去重功能,且使用set()时,括号内数据只能是str类型
注意:其数据不能利用下标读取,因为数据具有存储随机性

2、集合常见操作:

2.1、增加:add():集合序列.add(数据);因为集合具有去重功能,故当追加数据是已存在数据时,不进行任何操作
          update():其追加的数据只能是序列
2.2、删除:remove():删除集合中指定数据,若数据不存在则报错
          discard():删除集合中指定数据,若数据不存在也不会报错
          pop():随机删除集合中某个数据,并返回这个数据
2.3、查找:in:判断数据在集合序列
          not in:判断数据不在集合序列
# 创建集合
k1 = {'you', 666, 'ha'}
k2 = set("8745")  # 注意使用set时候括号内不允许存在逗号,且只能是字符串数据类型,;具有去重功能
# print(k1)

# 增加数据
# k1.add('are')
# print(k1)
# k2.update({'haha', 'cool', '!'})  # 这里追加的只能是序列
# print(k2)

# 删除数据
# k1.remove('you')
# k1.discard('youk')  # 即使要删除的数据不存在也不报错
# k3 = k2.pop()  # 随机删除某个数据,并返回该数据
# print(k3)
# print(k1)

# 查找
print('you' in k1)
print(8 not in k2)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值