我有以下内容:[line.split(' ') for line in [ line.rstrip() for line in file.readlines()]]它返回字符串列表的列表。我知道我可以执行以下操作将其转换为整数列表的列表: for row in tree: row[:] = map(int, row[:])可以在处理行时内联完成吗?一些示例数据:5973 4152 40 0926 53 06 3410 51 87 86 81
1 回答
![?](http://img1.sycdn.imooc.com/545863f50001df1702200220-100-100.jpg)
尚方宝剑之说
TA贡献1788条经验 获得超4个赞
你可以使用
data = """
59
73 41
52 40 09
26 53 06 34
10 51 87 86 81
"""
result = [[int(x) for x in line.split()] for line in data.split("\n") if line]
print(result)
哪个产量
[[59], [73, 41], [52, 40, 9], [26, 53, 6, 34], [10, 51, 87, 86, 81]]
请注意,这仅适用于只有整数的情况。
要进行一些错误管理,您可以使用:
data = """
59 some junk here
73 41
52 40 09
26 53 06 34
10 51 87 86 81
"""
def makeint(line):
for x in line.split():
try:
yield int(x)
except ValueError:
pass
result = [[x for x in makeint(line)] for line in data.split("\n") if line]
print(result)
添加回答
举报
0/150
提交
取消