使用Python列表值赋值给多个变量


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

使用for循环

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

operator模块中的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

更新于:2020年5月13日

2K+ 浏览量

启动你的职业生涯

完成课程获得认证

开始学习
广告