Python中的示例理解
通过理解,您可以构建python序列。在本文中,我们将看到如何创建和访问此类序列。
以下是python中各种不同的理解方式。
列表理解
字典理解
设定理解
发电机理解
列表理解
我们可以通过多种方式创建列表并访问列表中的元素。
使用for循环
示例
# Cretae an empty list
listA = []
# Append elements to the list
for n in range(4, 9):
listA.append(n ** 3)
print("List using for loop:\n", listA)输出结果
运行上面的代码给我们以下结果-
List using for loop: [64, 125, 216, 343, 512]
从另一个列表
我们还可以通过直接将元素分配给新列表来创建另一个列表的列表。
示例
# Take a list
listA = [12,9,32,45]
#Given list
print("Given list:\n ",listA)
new_list = [n for n in listA if n % 3 == 0]
print("New List:\n", new_list)输出结果
运行上面的代码给我们以下结果-
Given list: [12, 9, 32, 45] New List: [12, 9, 45]
字典理解
字典包含成对形式的元素,称为键值对。在本文中,我们将看到如何创建此类字典。
使用for循环和zip
我们可以接受两个可以包含键和值的列表。然后通过理解加入他们以创建新词典。
示例
Day = ['Mon', 'Tue', 'Wed',]
Time= ['2pm','10am','11am']
# Create an empty dict
dictA = {}
# Use for loop
for (key, value) in zip(Day, Time):
dictA[key] = value
print("Dictionary using for loop:\n",dictA)输出结果
运行上面的代码给我们以下结果-
Dictionary using for loop:
{'Mon': '2pm', 'Tue': '10am', 'Wed': '11am'}使用键作为索引
在这种情况下,我们获取一个Python列表,并将元素用作字典的键。还可以使用表达式导出每个键的值。
示例
listA = [3,5,4,8,9,2]
dictA = {}
# Using for loop
for key in listA:
if key % 2 != 0:
dictA[key] = key ** 3
print("Dictionary using for loop:\n",dictA)输出结果
运行上面的代码给我们以下结果-
Dictionary using for loop:
{3: 27, 5: 125, 9: 729}设定理解
PythonSet包含唯一元素。可以通过类似于列表的方式来创建它。
带for循环
在这里,我们获取一个列表,并应用一个条件以从中获取一些元素。然后使用add方法将这些元素放入一个空集中。
示例
listA = [12, 4, 25, 12,4,9]
setA = set()# Using for loop
for x in listA:
if x % 3 == 0:
setA.add(x)
print("使用for循环设置:", setA)输出结果
运行上面的代码给我们以下结果-
使用for循环设置: {9, 12}与for和in
在此方法中,我们直接在{}中使用for循环。并将结果分配到集合中。在下面的内容中,我们使用列表中的元素。
示例
listA = [12, 4, 25, 12,4,9]
# Using for loop
setA = {x for x in listA if x % 2 == 0}
print("使用for循环设置:", setA)输出结果
运行上面的代码给我们以下结果-
使用for循环设置: {12, 4}发电机理解
在这种方法中,我们从列表中获取元素,并对它们应用某些条件,然后将其放入for循环中。结果分配给序列。此方法称为生成器理解。
示例
listA = [12, 4, 25, 12,4,9]
genrtr = (var for var in listA if var % 2 == 0)
print("Values using generator comprehensions:\n")
for x in genrtr:
print(x, end=',')输出结果
运行上面的代码给我们以下结果-
Values using generator comprehensions: 12,4,12,4,