我有一个嵌套列表:
l = [['40', '20', '10', '30'], ['20', '20', '20', '20', '20', '30', '20'], ['30', '20', '30', '50', '10', '30', '20', '20', '20'], ['100', '100'], ['100', '100', '100', '100', '100'], ['100', '100', '100', '100']]
现在,我要做的是将列表中的每个元素转换为float。我的解决方案是:
newList = []
for x in l:
for y in x:
newList.append(float(y))
但这可以通过嵌套列表理解来实现,对吧?
我所做的是:
[float(y) for y in x for x in l]
但结果是一堆100个和2400个。
任何解决办法,一个解释将不胜感激。谢谢!
下面是如何将嵌套for循环转换为嵌套列表理解:
下面是嵌套列表理解的工作原理:
下面是使用嵌套列表理解的方法:
这将为您提供一个列表列表,与您开始使用的列表类似,只是使用浮点数而不是字符串。如果您想要一个平面列表,那么您可以使用
[float(y) for x in l for y in x]
。相关问题 更多 >
编程相关推荐