我有一个这样的浮动列表:
list_of_numbers = [6.983508046396359, 3.1427777550591887, -24.42539243473745]
我希望将float列表分配给各个变量
w1 = 6.983508046396359
w2 = 3.1427777550591887
w3 = -24.42539243473745
如何将它们分配给所需的变量?
答案 0 :(得分:1)
使用序列拆包:
list_of_numbers = [6.983508046396359, 3.1427777550591887, -24.42539243473745]
w1, w2, w3 = list_of_numbers
如果变量数量可变,请考虑使用字典:
w = dict(enumerate(list_of_numbers, 1))
然后通过w[1]
访问第一个浮点数。
答案 1 :(得分:0)
创建字典:
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
答案 2 :(得分:0)
如果您知道总会有相同数量的值,那么解压缩是一个不错的选择:
w1, w2, w3 = list_of_numbers
另一方面,如果您想对任意长度的数字列表执行此操作,那么我建议您采用错误的方法。如果必须命名,请使用@ukemi建议的字典。
答案 3 :(得分:0)
如果知道变量的数目和名称,则解压缩就足够了:
w1, w2, w3 = list_of_numbers
如果传递的列表的长度大于变量的数量,则最后一个将收到一个序列,其中包含该字段中所有剩余元素的未扩展列表,如果列表太短,则会出现异常。
如果事先不知道变量的编号和名称,则您不想这样做。当然可以,因为Python足够动态,但是在直接访问列表要简单得多时却很难构建和使用。
答案 4 :(得分:-1)
如果您的清单很小
Feature 1 Feature 2 Feature 3
0 NaN 4 7
1 1.0 5 7
2 2.0 5 8
3 NaN 6 9
['Feature 2', 'Feature 3']