首页 > 解决方案 > 如何拆分txt中的每个整数?

问题描述

所以我有一个 txt 有 2 行作为

move 30 20 50
move 60 2 54

然后我将这两行分成两个元素放入这样的列表中

codereader = 'deneme.txt'

file_handle = open(codereader, "r")
text = file_handle.read().splitlines()
terminal_reader = "{}".format(text)

print(terminal_reader)

它给了我下面的解决方案

#['move 30 20 50','move 60 2 54']

但我也必须将每个数字放入不同的元组中,例如 30 和 60 必须进入称为速度的列表。20 和 2 必须进入称为距离的列表,最后一个数字必须进入称为时间的列表。所以最后解决方案必须是这样的。

speed_values = ['30', '60']
distance_values = ['20','2']
time_values = ['50','54']

但是如果我在 txt 代码中添加另一个动作,则必须将最后一个动作的数字附加到列表的末尾。我不知道如何像这样将它们单独分开。

标签: pythonpython-3.xtextsplit

解决方案


您可以遍历其中的值text并拆分它们中的每一个:

line_items = [line.split() for line in text]

现在你有[['move', '30', '20', '50'], ['move', '60', '2', '54']].

要对同一索引上的值进行分组,您可以使用以下zip函数:

line_items = zip(*[['move', '30', '20', '50'], ['move', '60', '2', '54']])

这将为您提供一个如下所示的迭代器:[['move', 'move'], ['30', '60'], ...

现在您可以将它们分配给变量。

In [1]: a, b = zip([1, 2], [3, 4])

In [2]: a
Out[2]: (1, 3)

In [3]: b
Out[3]: (2, 4)

推荐阅读