使用Python列表值分配多个变量

根据程序的需要,我们可能需要一次将列表中的值分配给多个变量。这样它们就可以在程序的其余部分中进一步用于计算。在本文中,我们将探索实现这一目标的各种方法。

用于

for循环可以帮助我们遍历给定列表中的元素,同时将它们分配给给定序列中声明的变量。我们不得不提到将被分配给变量的值的索引位置。

示例

listA = ['Mon', ' 2pm', 1.5, '11 miles']

# Given list
print("Given list A: " ,listA)

# using for in
vDay, vHrs, vDist = [listA[i] for i in (0, 2, 3)]

# Result
print ("The variables : " + vDay + ", " + str(vHrs) + ", " +vDist)

输出结果

运行上面的代码给我们以下结果-

Given list A: ['Mon', ' 2pm', 1.5, '11 miles']
The variables : Mon, 1.5, 11 miles

带有itemgetter

运算符模块中的itergetter函数将获取指定索引的项目。我们直接将它们分配给变量。

示例

from operator import itemgetter

listA = ['Mon', ' 2pm', 1.5, '11 miles']

# Given list
print("Given list A: " ,listA)


# using itemgetter
vDay, vHrs, vDist = itemgetter(0, 2, 3)(listA)

# Result
print ("The variables : " + vDay + ", " + str(vHrs) + ", " +vDist)

输出结果

运行上面的代码给我们以下结果-

Given list A: ['Mon', ' 2pm', 1.5, '11 miles']
The variables : Mon, 1.5, 11 miles

使用itertools.compress

来自itertools模块的compress函数将使用布尔值作为索引位置来捕获元素。因此,对于索引位置0,2和3,我们在compress函数中提及值1,然后将获取的值分配给变量。

示例

from itertools import compress

listA = ['Mon', ' 2pm', 1.5, '11 miles']

# Given list
print("Given list A: " ,listA)

# using itemgetter
vDay, vHrs, vDist = compress(listA, (1, 0,1, 1))

# Result
print ("The variables : " + vDay + ", " + str(vHrs) + ", " +vDist)

输出结果

运行上面的代码给我们以下结果-

Given list A: ['Mon', ' 2pm', 1.5, '11 miles']
The variables : Mon, 1.5, 11 miles