1. Python字典
在Python中,字典(Dictionary)是一种无序的,可变的数据结构,它是由一系列的key-value键值对组成的。每个键值对通过冒号:分隔,而不同的键值对之间使用英文,号分隔,字典用花括号{}表示,如下所示:
d = {'name': 'Tom', 'age': 18, 'gender': 'male'}
以上代码建立起了一个名为d的字典,其中包含三个键,分别为name、age、gender,对应的值为Tom、18和male。可以通过以下方式进行读取和修改操作。
1.1 字典基本操作
读取字典中元素的值,可以直接通过键名称获取,使用方法为字典名[key],例如:
print(d['name']) # 输出结果为:Tom
可以发现,上述代码输出了Tom,即字典d中key为'name'的元素的值。
如果想要修改某个键的值,直接通过键名对其进行重新赋值即可,例如:
d['name'] = 'Jerry'
print(d) # 输出结果为:{'name': 'Jerry', 'age': 18, 'gender': 'male'}
以上代码将d字典中name键所对应的值由Tom改为了Jerry。
1.2 字典方法
Python字典拥有许多的方法,这里介绍其中一些常用的方法。
1.2.1 keys()方法
keys()方法可以返回字典中所有的键名称,例如对上述d字典使用keys()方法:
print(d.keys()) # 输出结果为:dict_keys(['name', 'age', 'gender'])
可以发现,keys()方法返回的是一个由键值组成的列表,在上述代码中返回的结果是dict_keys(['name', 'age', 'gender'])。
1.2.2 values()方法
类似于keys()方法,values()方法可以返回字典中所有的键所对应的值,例如:
print(d.values()) # 输出结果为:dict_values(['Jerry', 18, 'male'])
可以发现,values()方法返回的是一个由值组成的列表,在上述代码中返回的结果是dict_values(['Jerry', 18, 'male'])。
1.2.3 items()方法
items()方法可以返回字典中所有的键值对,例如:
print(d.items()) # 输出结果为:dict_items([('name', 'Jerry'), ('age', 18), ('gender', 'male')])
可以发现,items()方法返回的是一个由键值对组成的列表,在上述代码中返回的结果是dict_items([('name', 'Jerry'), ('age', 18), ('gender', 'male')])。
2. Python集合
集合(Set)是Python中一种无序、不重复的数据结构,可以对其进行一些常规的数学运算,例如交集、并集、差集等。在Python中,集合用花括号{}表示,集合中的元素之间使用英文,号分隔。例如,创建一个名为s的集合:
s = {1, 2, 3}
2.1 集合基本操作
读取集合中元素的值,可以直接对集合进行循环,例如:
for item in s:
print(item)
此时可以看到集合s中每个元素的值都被循环输出。
向集合中添加元素,可以使用add()方法,例如:
s.add(4)
print(s) # 输出结果为:{1, 2, 3, 4}
可以发现,add()方法可以在集合s中添加一个名为4的元素。
从集合中删除元素,可以使用remove()方法,例如:
s.remove(4)
print(s) # 输出结果为:{1, 2, 3}
可以发现,remove()方法可以删除集合s中名为4的元素。
2.2 集合方法
Python集合拥有许多的方法,这里介绍其中一些常用的方法。
2.2.1 union()方法
集合的并集可以使用union()方法得到,例如创建两个集合:
s1 = {1, 2, 3}
s2 = {2, 3, 4}
此时可以使用union()方法计算两个集合的并集:
s3 = s1.union(s2)
print(s3) # 输出结果为:{1, 2, 3, 4}
2.2.2 intersection()方法
集合的交集可以使用intersection()方法得到,例如:
s4 = s1.intersection(s2)
print(s4) # 输出结果为:{2, 3}
可以发现,intersection()方法返回的是两个集合中相同元素的集合。
2.2.3 difference()方法
集合的差集可以使用difference()方法得到,例如:
s5 = s1.difference(s2)
print(s5) # 输出结果为:{1}
可以发现,difference()方法返回的是两个集合中不同元素的集合。
3. Python数据类型转换
Python中支持各种数据类型之间的相互转换,例如将一个数值转换成字符串、将字符串转换成整型等。下面介绍一些常用的数据类型转换方法。
3.1 int()方法
将一个字符串转换成整型,使用int()方法,例如:
a = '123'
b = int(a)
print(b) # 输出结果为:123
3.2 float()方法
将一个字符串或整型转换成浮点型,使用float()方法,例如:
a = '123'
b = float(a)
print(b) # 输出结果为:123.0
c = 123
d = float(c)
print(d) # 输出结果为:123.0
3.3 str()方法
将一个数值或其他类型的数据转换成字符串,使用str()方法,例如:
a = 123
b = str(a)
print(b) # 输出结果为:'123'
4. Python推导式
Python推导式是一种简明方便、高效快捷的代码编写方式,它可以让程序员快速的生成一个列表、集合、字典等数据类型。Python中有列表推导式、集合推导式和字典推导式等多种推导式语法格式。
4.1 列表推导式
列表推导式是Python中最常见的推导式,它是一种快速生成一个列表的方法。列表推导式的一般形式为:
[expression for item in iterable]
其中,expression是每个元素的条件,item是循环的变量,iterable是一个可迭代的对象。例如,生成一个包含1至5的平方的列表:
a = [x**2 for x in range(1, 6)]
print(a) # 输出结果为:[1, 4, 9, 16, 25]
4.2 集合推导式
集合推导式与列表推导式非常相似,也是一种快速生成一个集合的方法。其一般形式为:
{expression for item in iterable}
例如,生成一个包含1至5的平方的集合:
b = {x**2 for x in range(1, 6)}
print(b) # 输出结果为:{1, 4, 9, 16, 25}
可以发现,集合推导式与列表推导式的语法非常相似,只需要将方括号[]改为花括号{}即可。
4.3 字典推导式
字典推导式是一种快速生成一个字典的方法,其一般形式为:
{key_expression: value_expression for item in iterable}
例如,生成一个包含1至5的整数的平方的字典:
c = {x: x**2 for x in range(1, 6)}
print(c) # 输出结果为:{1: 1, 2: 4, 3: 9, 4: 16, 5: 25}
可以发现,在字典推导式中,可以将一个键值对用冒号:分隔开,并用for循环遍历一个可迭代对象。
总结
Python字典和集合是Python编程中非常常见的两种数据结构,它们在大量的数据操作中起到了无可替代的作用。此外,数据类型转换和推导式也是Python编程中非常重要的内容,它们可以大大提高程序员的代码编写效率,降低代码的复杂度。