python - 将嵌套列表中的特定组件从字符串更改为浮点

标签 python list

我有一个嵌套的字符串列表。我想将嵌套列表的第一个组件更改为整数,第二个组件更改为 float 。

>>> mylist = [['1','2','3'],['5','6','7']]
>>> datl3 = [[int(x) for x in line[0]] + line[1:] for line in mylist]
>>> type(datl3[0][0])
<type 'int'>
>>> 
>>> # turn second element to float
... datl4 = [line[0] + [float(x) for x in line[1]] + line[2] for line in datl3]
Traceback (most recent call last):
  File "<stdin>", line 2, in <module>
TypeError: unsupported operand type(s) for +: 'int' and 'list'

如何将第二个组件更改为 float ?

最佳答案

您可以使用花式解包来执行此操作:

>>> mylist = [['1','2','3'],['5','6','7']]
>>> [[int(first),float(second),*rest] for first, second, *rest in mylist]
[[1, 2.0, '3'], [5, 6.0, '7']]

关于python - 将嵌套列表中的特定组件从字符串更改为浮点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52573333/

相关文章:

python - Django 响应没有内容 - 如何调试?

python - 类实例未通过 isinstance 检查

java - 从 Java 列表中删除项目

Python 编程 : Global name 'is_within' is not defined. 我正在使用列表过滤器

java - 检查 List<String> 是否包含唯一字符串的最快方法

python - numpy.where() 在这个例子中究竟是如何选择元素的?

python - 在运行时将参数传递给装饰器

python - 按字符串名称 Pandas 求和

Python - 比较嵌套列表并将匹配项附加到新列表?

python - 在遍历python列表的同时修改元素时,这种行为背后的原因是什么?