我有一个浮动列表:
list_of_numbers = [6.983508046396359, 3.1427777550591887, -24.42539243473745]
我希望将浮点数列表分配给各个变量
w1 = 6.983508046396359
w2 = 3.1427777550591887
w3 = -24.42539243473745
我如何将它们分配到所需的变量?
使用序列解包:
list_of_numbers = [6.983508046396359, 3.1427777550591887, -24.42539243473745]
w1, w2, w3 = list_of_numbers
如果您有可变数量的变量,请考虑使用字典:
w = dict(enumerate(list_of_numbers, 1))
然后通过w[1]
访问第一个浮点数。
创建字典:
list_of_numbers = [6.983508046396359, 3.1427777550591887, -24.42539243473745]
d = {"w" + str(i+1): j for i,j in enumerate(list_of_numbers)}
print(d)
>>> {'w1': 6.983508046396359, 'w2': 3.1427777550591887, 'w3': -24.42539243473745}
这样可以访问:
d["w1"]
>>> 6.983508046396359
如果您知道总会有相同数量的值,那么解压缩是一个不错的选择:
w1, w2, w3 = list_of_numbers
另一方面,如果你想为任意长度的数字列表做这个,那么我建议你采取错误的方法。如果你必须给它们命名,请使用像@ukemi建议的字典。
如果已知变量的数量和名称,则解压缩就足够了:
w1, w2, w3 = list_of_numbers
如果传递一个列表longuer而不是变量数,最后一个将接收一个包含该字段中所有剩余元素的未展开列表的序列,如果列表太短,您将得到一个例外。
如果事先不知道变量的数量和名称,那么您不希望这样做。它当然是可能的,因为Python足够动态,但是当直接访问列表要简单得多时很难构建和使用。
如果你有一个小清单
w1 = list_of_numbers[0]
w2 = list_of_numbers[1]
w3 = list_of_numbers[2]
要访问列表中的值,请使用方括号进行切片以及索引或索引以获取该索引处可用的值。例如 :
w1 = list_of_numbers [1]
w2 = list_of_numbers [2]
w3 = list_of_numbers [3]