python字典与集合还有数据类型转换、推导式

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编程中非常重要的内容,它们可以大大提高程序员的代码编写效率,降低代码的复杂度。

后端开发标签