python - 如何拆分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 代码中添加另一个动作,则必须将最后一个动作的数字附加到列表的末尾。我不知道如何像这样将它们单独分开。
解决方案
您可以遍历其中的值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)
推荐阅读
- python - 如何在 Python 中的列表项中插入字符串
- batch-file - 具有管理员访问权限的 NSIS 无法通过批处理脚本创建 reg 密钥
- swift - Swift:协议的使用
- javascript - 无法将 undefined 或 null 转换为对象 GraphQL
- snowflake-cloud-data-platform - 转义动态生成的正则表达式
- python - Python、NetworkX六角点阵问题——如何创建完美点阵?
- python - 遍历一棵树(多巢)
- angular - 控制台上出现数字、字符串、布尔值的错误。找不到“数字”类型的不同支持对象“100”
- reactjs - NPM 或 Git 缓存文件,无法构建我的项目
- c# - Discord.net 宣布新用户加入的问题