使用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
广告