【发布时间】:2023-03-20 04:25:01
【问题描述】:
考虑以下列表:
list1 = [['1.1', '1.2', '1.3'], ['2.1', '2.2', '2.3'], ...]
要理解字符串列表以将它们转换为可以使用的浮点数
list1[0] = [float(i) for i in list1[0]]
但我试图理解浮点数列表的尝试并没有奏效:
list1 = [[float(j) for j in list1[i]] for i in list1]
由于
TypeError:列表索引必须是整数或切片,而不是列表
有没有办法在不显式使用循环的情况下进行这种列表理解?
【问题讨论】:
-
list1 = [[float(j) for j in > list1[i] <] for i in list1] -
这是你的错误所在。
-
somelist 中 i 的语法实际上并没有给你索引 0,1,2,..,而是直接给你对象,在你的情况下,是内部列表。所以你应该直接使用 i 而不是 list1[i]
-
在内部列表中使用名称
i会让人感到困惑(你自己也弄糊涂了),因为它们是列表,但i(和j)往往用于索引
标签: python-3.x list loops list-comprehension