Python基础:集合与字典的创建及使用

创建集合:

集合(set)是一个无序的不重复元素序列。

可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。

Python中可以使用大括号或者set()函数来创建集合。使用大括号创建集合时,直接将元素放在大括号中,并用逗号隔开。

例如:

# 创建一个空集合
set1 = set()

# 创建一个有元素的集合
set2 = {'apple', 'banana', 'orange'}

集合的常用方法:

  • add(): 向集合中添加一个元素。
  • update(): 向集合中添加多个元素。
  • remove(): 从集合中删除一个元素,如果元素不存在则会引起KeyError错误。
  • discard(): 从集合中删除一个元素,如果元素不存在则不会引起异常。
  • pop(): 随机删除集合中的一个元素,并返回这个元素。
  • clear(): 删除集合中的所有元素。

例如:

# 创建一个有元素的集合
set1 = {'apple', 'banana', 'orange'}

# 添加元素
set1.add('pear')
print(set1)  # 输出 {'orange', 'banana', 'pear', 'apple'}

# 添加多个元素
set1.update(['grape', 'watermelon'])
print(set1)  # 输出 {'orange', 'banana', 'pear', 'watermelon', 'grape', 'apple'}

# 删除元素
set1.remove('orange')
print(set1)  # 输出 {'banana', 'pear', 'watermelon', 'grape', 'apple'}

# 删除不存在的元素,不会引起异常
set1.discard('strawberry')

# 随机删除一个元素
set1.pop()
print(set1)  # 输出 {'pear', 'watermelon', 'grape', 'apple'}

# 清空集合
set1.clear()
print(set1)  # 输出 set()

集合内置方法完整列表:

方法描述
add()为集合添加元素
clear()移除集合中的所有元素
copy()拷贝一个集合
difference()返回多个集合的差集
difference_update()移除集合中的元素,该元素在指定的集合也存在。
discard()删除集合中指定的元素
intersection()返回集合的交集
intersection_update()返回集合的交集。
isdisjoint()判断两个集合是否包含相同的元素,如果没有返回 True,否则返回 False。
issubset()判断指定集合是否为该方法参数集合的子集。
issuperset()判断该方法的参数集合是否为指定集合的子集
pop()随机移除元素
remove()移除指定元素
symmetric_difference()返回两个集合中不重复的元素集合。
symmetric_difference_update()移除当前集合中在另外一个指定集合相同的元素,并将另外一个指定集合中不同的元素插入到当前集合中。
union()返回两个集合的并集
update()给集合添加元素

创建字典:

在Python中,可以使用大括号({})或者dict()函数来创建一个字典。大括号中需要指定键和值,键和值之间使用冒号隔开,键值对之间使用逗号隔开。例如:

# 创建一个有元素的字典
dict1 = {'name': 'Alice', 'age': 25, 'gender': 'Female'}

# 通过dict()函数创建一个字典
dict2 = dict(name='Bob', age=30, gender='Male')

字典的常用方法:

  • keys(): 获取字典中所有键的列表。
  • values(): 获取字典中所有值的列表。
  • items(): 获取字典中所有键值对的列表。
  • get(key, default): 根据键获取相应的值,如果键不存在,返回默认值default。如果不指定默认值,则返回None。
  • pop(key, default): 移除字典中键为key的项,并返回相应的值。如果键不存在,返回默认值default。如果不指定默认值,则引发KeyError异常。
  • update(other_dict): 将other_dict中的内容更新到当前字典中。

例如:

# 创建一个有元素的字典
dict1 = {'name': 'Alice', 'age': 25, 'gender': 'Female'}

# 获取所有键的列表
keys = dict1.keys()
print(keys)  # 输出 dict_keys(['name', 'age', 'gender'])

# 获取所有值的列表
values = dict1.values()
print(values)  # 输出 dict_values(['Alice', 25, 'Female'])

# 获取所有键值对的列表
items = dict1.items()
print(items)  # 输出 dict_items([('name', 'Alice'), ('age', 25), ('gender', 'Female')])

# 根据键获取相应的值,不存在返回默认值
age = dict1.get('age', 0)
print(age)  # 输出 25

# 移除键为'gender'的项,并返回相应的值
gender = dict1.pop('gender', 'Unknown')
print(gender)  # 输出 'Female'

# 将字典other_dict中的内容更新到当前字典中
other_dict = {'score': 90, 'class': 3}
dict1.update(other_dict)
print(dict1)  # 输出 {'name': 'Alice', 'age': 25, 'score': 9

字典内置函数&方法

Python字典包含了以下内置函数:

序号函数及描述实例
1len(dict)
计算字典元素个数,即键的总数。
>>> tinydict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
>>> len(tinydict)
3
2str(dict)
输出字典,可以打印的字符串表示。
>>> tinydict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
>>> str(tinydict)
"{'Name': 'Runoob', 'Class': 'First', 'Age': 7}"
3type(variable)
返回输入的变量类型,如果变量是字典就返回字典类型。
>>> tinydict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
>>> type(tinydict)
<class 'dict'>

Python字典包含了以下内置方法:

序号函数及描述
1dict.clear()
删除字典内所有元素
2dict.copy()
返回一个字典的浅复制
3dict.fromkeys()
创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值
4dict.get(key, default=None)
返回指定键的值,如果键不在字典中返回 default 设置的默认值
5key in dict
如果键在字典dict里返回true,否则返回false
6dict.items()
以列表返回一个视图对象
7dict.keys()
返回一个视图对象
8dict.setdefault(key, default=None)
和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default
9dict.update(dict2)
把字典dict2的键/值对更新到dict里
10dict.values()
返回一个视图对象
11pop(key[,default])
删除字典 key(键)所对应的值,返回被删除的值。
12popitem()
返回并删除字典中的最后一对键和值。

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

桃子编程

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值