如何在Python中转换'str.split()`的元素?
我有以下资料:如何在Python中转换'str.split()`的元素?,python,Python,我有以下资料: [line.split(' ') for line in [ line.rstrip() for line in file.readlines()]] 它返回字符串列表。我知道我可以执行以下操作将其转换为整数列表: for row in tree: row[:] = map(int, row[:]) 在处理行时,可以内联完成吗 一些样本数据: 59 73 41 52 40 09 26 53 06 34 10 51 87 86 81 你
[line.split(' ') for line in [
line.rstrip() for line in file.readlines()]]
它返回字符串列表。我知道我可以执行以下操作将其转换为整数列表:
for row in tree:
row[:] = map(int, row[:])
在处理行时,可以内联完成吗
一些样本数据:
59
73 41
52 40 09
26 53 06 34
10 51 87 86 81
你可以用
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)
一些样本数据将很好地围绕您的问题,以及所需输出的样本。
[[int(thing)表示行中的东西。split(“”)]表示…]
?是的。一些示例数据会有所帮助……这里的“内联”是什么意思?你是说一行清单?