gpt4 book ai didi

python - 如何将文件中带连字符的数字扩展为一系列数字?

转载 作者:行者123 更新时间:2023-11-28 21:32:45 24 4
gpt4 key购买 nike

我有一个这样格式化的文本文件

1-8
10-12
14-45
48-50

如何获取每行的范围?

1, 2, 3, 4, 5, 6, 7, 8
10, 11, 12

我尝试拆分文件以将每个数字放入一个列表中。 1、8、10、12、14、45、48、50,但我不确定如何将其转换为范围的开始和结束数字。

data = []
with open('file.txt','r') as myfile:
for line in myfile:
data.extend(map(int, line.split('-')))
print (data)

最佳答案

您可以使用短列表理解从给定行中提取数字。由于您列出的范围似乎包括两端,我们需要在下面的结束间隔 (j) 中添加一个。

for line in myfile:
i, j = [int(n) for n in line.split("-")]
for x in range(i, j + 1):
# do things

如果您只想将两个数字放在一个范围内,这里有一个替代方案:

range(*[int(n) for n in line.split("-")])

如果要列出范围内的数字,则需要将表达式包装在 list() 中。

关于python - 如何将文件中带连字符的数字扩展为一系列数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55850794/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com