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

📅  最后修改于: 2022-05-13 01:55:28.897000             🧑  作者: Mango

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

我们通常完成获取某些索引值并从中分配变量的任务。我们遵循的一般方法是通过索引提取每个列表元素,然后将其分配给变量。这种方法需要更多的代码行。让我们讨论以紧凑的方式完成此任务以提高可读性的某些方法。

方法#1:使用列表推导
通过使用列表推导,您可以轻松地在一行中完成这项任务。我们为 RHS 中的特定索引运行一个循环,并将它们分配给所需的变量。

# Python3 code to demonstrate 
# to assign variables from list element
# using list comprehension 
  
# initializing list  
test_list = [1, 4, 5, 6, 7, 3]
  
# printing original list
print ("The original list is : " + str(test_list))
  
# using list comprehension
# to assign variables from list element
var1, var2, var3 = [test_list[i] for i in (1, 3, 5)]
  
# printing result
print ("The variables are : " +  str(var1) + 
                           " " + str(var2) +
                            " " + str(var3))
输出:
The original list is : [1, 4, 5, 6, 7, 3]
The variables are : 4 6 3


方法 #2:使用itemgetter()
itemgetter函数也可用于执行此特定任务。此函数接受索引值和它正在处理的容器并分配给变量。

# Python3 code to demonstrate 
# to assign variables from list element
# using itemgetter()
from operator import itemgetter
  
# initializing list  
test_list = [1, 4, 5, 6, 7, 3]
  
# printing original list
print ("The original list is : " + str(test_list))
  
# using using itemgetter()
# to assign variables from list element
var1, var2, var3 = itemgetter(1, 3, 5)(test_list)
  
# printing result
print ("The variables are : " +  str(var1) +
                           " " + str(var2) +
                            " " + str(var3))
输出:
The original list is : [1, 4, 5, 6, 7, 3]
The variables are : 4 6 3


方法#3:使用itertools.compress()
compress函数接受对应于每个索引的布尔值,如果必须将其分配给变量,则将其接受为 True,而在变量分配中不使用 False。

# Python3 code to demonstrate 
# to assign variables from list element
# using itertools.compress()
from itertools import compress
  
# initializing list  
test_list = [1, 4, 5, 6, 7, 3]
  
# printing original list
print ("The original list is : " + str(test_list))
  
# using using itertools.compress()
# to assign variables from list element
var1, var2, var3 = compress(test_list, (0, 1, 0, 1, 0, 1, 0))
  
# printing result
print ("The variables are : " +  str(var1) + 
                           " " + str(var2) +
                            " " + str(var3))
输出:
The original list is : [1, 4, 5, 6, 7, 3]
The variables are : 4 6 3