Python基础语法知识5

#哪个编程工具让你的工作效率翻倍?#

十、Python字典

Python 字典是一种用于存储键值对的数据结构。每个键(key)都是唯一的,并且与一个值(value)相关联。字典是 Python 中非常强大和灵活的数据类型,常用于需要快速查找、插入和删除操作的场景。以下是一些关于 Python 字典的基本用法和示例:

1.创建字典

你可以使用花括号 {} 创建一个字典,或者使用 dict() 函数。

# 使用花括号创建字典  
dic1 = {'name': 'Alice', 'age': 30, 'city': 'New York'}  
  
# 使用 dict() 函数创建字典  
dic2 = dict(name='Bob', age=25, city='Los Angeles')

2.访问字典里的值

通过键可以访问字典中的值。

print(dic1['name'])  # 输出: Alice  
print(dic2['age'])  # 输出: 25

3.修改字典

通过键可以修改字典中的值。

dic1['age'] = 31  
print(dic2)  # 输出: {'name': 'Alice', 'age': 31, 'city': 'New York'}

4.删除字典里元素

使用 del 关键字或 pop() 方法可以删除字典中的键值对。

del dic1['city']  
print(dic1)  # 输出: {'name': 'Alice', 'age': 31, 'email': 'alice@example.com'}  
  
# 使用 pop() 方法  
removed_value =dic1.pop('email')  
print(removed_value)  # 输出: alice@example.com  
print(dic1)  # 输出: {'name': 'Alice', 'age': 31}

5.字典键的特性

字典值可以是任何的 python 对象,既可以是标准的对象,也可以是用户定义的,但键不行。

1.不允许同一个键出现两次。创建时如果同一个键被赋值两次,后一个值会被记住

mydic = {'Name': 'jack', 'Age': 27, 'Name': 'karen'}
print (mydic['Name'])
#输出:karen

2.键必须不可变,所以可以用数字,字符串或元组充当,而用列表就不行

mydic1 = {97:"a",98:"b"}
mydic2 = {"name":"karen","age":27}
mydic3 = {['Name']: 'karen', 'Age': 27}
print(mydic3[['Name']])#报错unhashable type: 'list'

6.字典常用API

  • 操作列表的函数
序号函数描述
1len(dict)计算字典元素个数,即键的总数。
2str(dict)输出字典,可以打印的字符串表示。
3type(variable)返回输入的变量类型,如果变量是字典就返回字典类型。
  • 字典的方法
序号函数及描述
1dict.clear()删除字典内所有元素
2dict.copy()返回一个字典的浅复制
3dict.fromkeys(seq)创建一个新字典,以序列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()返回并删除字典中的最后一对键和值。

十一、Python集合(set)

在Python中,集合(set)是一种基本的数据结构,用于存储不重复的元素。集合是一个无序的、不包含重复元素的集合类型。它支持数学上的集合操作,如并集、交集、差集和对称差集等。

1.创建集合

集合可以使用大括号 {} 创建,或者使用 set() 函数。

# 使用大括号创建集合  
my_set = {1, 2, 3, 4}  
  
# 使用 set() 函数创建集合  
my_set_2 = set([1, 2, 3, 4])

2.集合的基本操作

  • 添加元素:使用 add() 方法。
my_set.add(5)  
print(my_set)  # 输出: {1, 2, 3, 4, 5}
  • 删除元素:使用 remove() 方法(如果元素不存在会抛出 KeyError),或者使用 discard() 方法(如果元素不存在不会抛出异常),或者使用pop方法对集合进行无序的排列,然后将这个无序排列集合的左面第一个元素进行删除。
my_set.remove(3)  
print(my_set)  # 输出: {1, 2, 4, 5}  

my_set.discard(6)  # 不会抛出异常
  • 清空集合:使用 clear() 方法。
my_set.clear()  
print(my_set)  # 输出: set()
  • 检查元素:使用 in 关键字。
print(2 in my_set)  # 输出: False(假设 my_set 已经被清空)

3.集合的数学操作

  • 并集:使用 | 运算符或 union() 方法。
set1 = {1, 2, 3}  
set2 = {3, 4, 5}  
print(set1 | set2)  # 输出: {1, 2, 3, 4, 5}  
print(set1.union(set2))  # 输出: {1, 2, 3, 4, 5}
  • 交集:使用 & 运算符或 intersection() 方法。
print(set1 & set2)  # 输出: {3}  
print(set1.intersection(set2))  # 输出: {3}
  • 差集:使用 - 运算符或 difference() 方法。
print(set1 - set2)  # 输出: {1, 2}  
print(set1.difference(set2))  # 输出: {1, 2}
  • 对称差集:使用 ^ 运算符或 symmetric_difference() 方法。
print(set1 ^ set2)  # 输出: {1, 2, 4, 5}  
print(set1.symmetric_difference(set2))  # 输出: {1, 2, 4, 5}

4.集合内置方法完整API

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值