如何拆分txt中的每个整数



所以我有一个txt,它有两行作为

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,必须进入名为speed的列表。20和2必须转到被叫距离列表,最后的数字必须转到被叫时间列表。所以最终的解决方案必须是这样的。

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

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

您可以循环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)

最新更新