如何遍历浮点列表并将其分配给变量?

时间:2018-06-28 14:15:18

标签: python python-3.x list

我有一个这样的浮动列表:

list_of_numbers = [6.983508046396359, 3.1427777550591887, -24.42539243473745]

我希望将float列表分配给各个变量

w1 = 6.983508046396359
w2 = 3.1427777550591887
w3 = -24.42539243473745

如何将它们分配给所需的变量?

5 个答案:

答案 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']