我有以下文本文件:
4 #Highest Number
1 2
2 3
3 4
1 4
我正在尝试为1到最高数字范围内的每个数字创建一行。 也就是说,打印出来的东西看起来像这样:
1:
2:
3:
4:
我尝试创建两个集合,一个是1到4的整数,另一个是4:并使用union将它们组合在一起但是我的一组:看起来像这样:
{':'}
而不是:
{:,:,:,:}
这是我现在的代码。
Input_File = input("Enter your file: ").lower()
with open(Input_File, 'r') as f:
first_line = f.readline()
data = f.read().splitlines()
number_of_pairs = int(first_line) + 1
colons_needed = int(first_line) * [':']
colons_needed = set(colons_needed)
headers = list(range(1, number_of_pairs))
headers = set(headers)
更新
这是我到目前为止所得到的:
1: 2
2: 3
3: 4
4: 5
我想:
1:
2:
3:
4:
用于获取此代码的代码是:
for i in range(1, len(my_list)):
print(str(i)+':', my_list[i])
当我尝试在my_list的末尾添加+1时,我收到超出范围的错误
我得到了它的工作,谢谢你的帮助!
答案 0 :(得分:2)
我建议您只是将其作为输出格式的一部分来处理。不要在程序中维护冒号 ,只需在打印时添加它们,如下所示:
for i in range(1, len(my_list)+1):
print str(i)+':', my_list[i]