使用嵌套列表时,通常需要将每个元素转换为不同的数据类型。一种常见的情况是将字符串转换为浮点数。列表推导式不使用嵌套循环,而是提供了一种简洁高效的解决方案。
要将嵌套列表中的每个元素转换为浮点数,可以使用嵌套列表推导式:
[[float(y) for y in x] for x in l]
该表达式循环遍历主列表 l 中的每个子列表 x 并创建一个包含浮点数的新子列表从 x 中的字符串转换而来。生成的列表将与原始列表具有相同的结构,但使用浮点数而不是字符串。
如果需要单个展平列表,则可以反转循环顺序:
[float(y) for x in l for y in x]
在这种情况下,y 迭代所有子列表中的所有元素,而 x 迭代子列表本身。结果是一个包含从嵌套列表派生的所有浮点数的单个列表。
考虑以下嵌套列表:
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']]
使用嵌套列表理解,结果将是:
[[40.0, 20.0, 10.0, 30.0], [20.0, 20.0, 20.0, 20.0, 20.0, 30.0, 20.0], [30.0, 20.0, 30.0, 50.0, 10.0, 30.0, 20.0, 20.0, 20.0], [100.0, 100.0], [100.0, 100.0, 100.0, 100.0, 100.0], [100.0, 100.0, 100.0, 100.0]]
使用展平列表理解,结果将是:
[40.0, 20.0, 10.0, 30.0, 20.0, 20.0, 20.0, 20.0, 20.0, 30.0, 20.0, 30.0, 20.0, 30.0, 50.0, 10.0, 30.0, 20.0, 20.0, 20.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0]
以上是如何使用 Python 中的列表推导式将嵌套的字符串列表转换为浮点数?的详细内容。更多信息请关注PHP中文网其他相关文章!