Python对话

Python对话,python,Python,可能重复: 我如何转换为: x= [['1', '7'], ['1.5', '8'].........] 到 您可以使用地图和列表理解 [map(float, y) for y in x] 例如: >>> x = [['1', '7'], ['1.5', '8']] >>> [map(float, l) for l in x] [[1.0, 7.0], [1.5, 8.0]] 试一试 x=map(lambda s:[int(s[0]),int(s[1]

可能重复:

我如何转换为:

x= [['1', '7'], ['1.5', '8'].........]


您可以使用地图和列表理解

[map(float, y) for y in x]
例如:

>>> x = [['1', '7'], ['1.5', '8']]
>>> [map(float, l) for l in x]
[[1.0, 7.0], [1.5, 8.0]]
试一试


x=map(lambda s:[int(s[0]),int(s[1])],x)

请不要反复发布同一个问题;只需编辑原件,直到问题清楚为止。当然,除了在示例中,他得到的是[1,7],而不是[1.0,7.0]的整数。@Wooble:我假设他只是想将字符串转换为数字。很明显,他的问题中的例子是作为一般指南的。我不明白为什么它是1.0还是1很重要,因为无论如何都没有舍入误差。如果你想挑三拣四,你可以定义一个函数,该函数尝试转换为int,捕获错误并转换为float,然后在map中使用它。@recursive:由于安全问题,我试图避免eval。但是如果对他有效,我猜他可以。@Praveen:如果你不处理用户输入,就没有安全问题。@recursive但是如果不是来自用户(或其他不可信的来源),数据将以字符串格式从何而来?我的意思是,如果他自己生成数据,他可以以正确的形式存储数据。
[map(float, l) for l in x]
>>> x = [['1', '7'], ['1.5', '8']]
>>> [map(float, l) for l in x]
[[1.0, 7.0], [1.5, 8.0]]