浮动双重名单?

2024-04-26 00:24:34 发布

您现在位置:Python中文网/ 问答频道 /正文

我一直在看这页Convert Python list of strings into floats, where list also contains words

我试着实现这个,但我不能为一个双重清单。你知道吗

我有一个双重清单,看起来像这样

Positions = [['ace','first', '10','-29'],['best','second','200','-10']] 

这是我打开一个文件得到的。我想做的是删除列表中第2和第3个索引点的字符串,以便将这两个位置都作为整数而不是字符串。有没有办法打开文件删除这些字符串

或者

有没有一种方法可以通过对我的双列表应用一个方法来删除字符串??你知道吗


Tags: 文件of方法字符串convert列表wherelist
2条回答

你所拥有的是嵌套循环。基本上是一样的:

>>> L = [['ace','first', '10','-29'],['best','second','200','-10']]
>>> for i in L:
...     i[3] = int(float(i[3]))
...     i[2] = int(float(i[2]))
...     
... 
>>> print L
[['ace', 'first', 10, -29], ['best', 'second', 200, -10]]

获取一个列表列表,其中每个子列表的int表示在Positions中每个子列表的最后两个位置:

[[int(i) for i in L[-2:]] for L in Positions]

Positions中整数的字符串表示形式转换为int

[[int(i) for i in L if ((i.startswith('-') and all(char.isdigit() for char in i)) or all(char.isdigit() for char in i) else i] for L in Positions]

相关问题 更多 >