将字符串列表列表转换为int和float列表的列表理解

时间:2013-07-17 20:34:04

标签: python list-comprehension

我有一份清单清单。每个子列表包含三个字符串。

bins = [['1', '2', '3.5'], ['4', '5', '6.0']]

我需要将其转换为列表列表,其中每个子列表由两个整数和一个浮点组成。我正在考虑列表理解:

[ [int(start), int(stop), float(value)] for bn in bins for [start, stop, value] in bn]

2 个答案:

答案 0 :(得分:4)

你很亲密:

[[int(start), int(stop), float(value)] for start, stop, value in bins]

您不需要bn变量来保存每个bin或循环来迭代其内容;每个bin都可以直接解压缩到三个变量中。

答案 1 :(得分:0)

另一种选择是使用map

>>> bins = [['1', '2', '3.5'], ['4', '5', '6.0']]
>>> map(lambda x: [int(x[0]), int(x[1]), float(x[2])], bins)
[[1, 2, 3.5], [4, 5, 6.0]]