['136 145', '136 149', '137 145', '138 145', '139 145', '142 149', '142 153', '145 153']
与上面的列表一样,我想将元素转换为int,我知道仅仅使用[int(x) for x in mylist]
将不起作用。所以我的问题是,你如何将我的列表变成一个整数列表。ints ['123 121','42 23','23 23']中的字符串列表
0
A
回答
2
拆分文本第一,然后转换成int:
[map(int, elem.split()) for elem in originallist]
对于Python 3,凡map()
返回一个发电机,而不是一个列表,你可以嵌套列表理解:
[[int(n) for n in elem.split()] for elem in originallist]
这将在Python 2下同样工作。
快速演示:
>>> originallist = ['136 145', '136 149', '137 145', '138 145', '139 145', '142 149', '142 153', '145 153']
>>> [[int(n) for n in elem.split()] for elem in originallist]
[[136, 145], [136, 149], [137, 145], [138, 145], [139, 145], [142, 149], [142, 153], [145, 153]]
您可以通过移动elem.split()
环路外列表理解删除筑巢,到最后:
[int(n) for elem in originallist for n in elem.split()]
这给:
[136, 145, 136, 149, 137, 145, 138, 145, 139, 145, 142, 149, 142, 153, 145, 153]
3
>>> L = ['136 145', '136 149', '137 145', '138 145', '139 145', '142 149', '142 153', '145 153']
>>> [int(y) for x in L for y in x.split()]
[136, 145, 136, 149, 137, 145, 138, 145, 139, 145, 142, 149, 142, 153, 145, 153]
1
正如我倾向于为了避免嵌套的列表解析(我永远不会记住顺序),我会做很多事情,比如:
from itertools import chain
x = ['136 145', '136 149', '137 145', '138 145', '139 145', '142 149', '142 153', '145 153']
gen = chain.from_iterable(elem.split() for elem in x)
integers = [int(elem) for elem in gen]
+0
我想我只喜欢'chain.from_iterable'当它围绕整个表达式 – jamylak 2013-04-05 11:44:54
1
你可以尝试这样的,
>>> import re
>>> l=['136 145', '136 149', '137 145', '138 145', '139 145', '142 149', '142 153', '145 153']
>>> map(int, re.findall(r'\d+',' '.join(l)))
[136, 145, 136, 149, 137, 145, 138, 145, 139, 145, 142, 149, 142, 153, 145, 153]
+0
你不需要这种方法的正则表达式 – jamylak 2013-04-05 11:48:59
0
>>> L = ['136 145', '136 149', '137 145', '138 145', '139 145', '142 149', '142 153', '145 153']
>>> map(int, ' '.join(L).split())
[136, 145, 136, 149, 137, 145, 138, 145, 139, 145, 142, 149, 142, 153, 145, 153]
相关问题
- 1. 我如何迭代python中的ints字符串列表?
- 2. Java:识别字符串中的Ints和非Ints
- 3. 列表中的字符串列表
- 4. 分隔字符串中的字符和Ints
- 5. 将十六进制和Ints的字符串转换为Python中的列表
- 6. 包含在字符串列表中的检查字符串
- 7. Python列表中的字符串列表中的子字符串
- 8. 如何从jQuery中的“aaa-23-34”获取字符串“aaa-23”?
- 9. 将字符串转换为Ints
- 10. 用字符串列表替换字符串列表中的字符串
- 11. 无法处理字符串列表中的字符串列表
- 12. 从字符串列表到字符串中的接口列表
- 13. 修剪列表中的字符串
- 14. 转换的字符串列表,列出字符串列表的
- 15. Linq列表中的字符串列表
- 16. 如何检查字符串((字符串和(字符串列表)))的列表中的字符串?
- 17. 将字符串列表拆分为字符串列表列表
- 18. 基于ints而不是字符串的Jackson中的多态反序列化
- 19. 在数组中使用split()单独的字符串和Ints
- 20. 在多字节字符串中将“abc123def”替换为“abc 123 def”
- 21. 查找字符串中的字符串列表中的蟒蛇
- 22. 串联字符串列表中的选定字符串
- 23. Python - 字符串列表中的特征散列列表字符串
- 24. 如何转换时间字符串'11:23下午'时间'23:23'
- 25. Scala - 字符串到方形字符串的列表字符串
- 26. iPhone:将NSString 123-123-1234转换为(123)123-1234
- 27. 在Python中展开字符串列表和字符串列表以及列表
- 28. 列中的字符串列表jasper ireport
- 29. 列表字符串字符串
- 30. 字符串字符串列表
列表中的每个元素represends 2个整数... – 2013-04-05 11:39:02
你想要什么输出? – mgilson 2013-04-05 11:39:28