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}

设定理解

Python Set包含唯一元素。可以通过类似于列表的方式来创建它。

带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,