根据程序的需要,我们可能需要一次将列表中的值分配给多个变量。这样它们就可以在程序的其余部分中进一步用于计算。在本文中,我们将探索实现这一目标的各种方法。
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
运算符模块中的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函数将使用布尔值作为索引位置来捕获元素。因此,对于索引位置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