在列表中的每个元素后添加冒号

时间:2017-04-24 18:18:20

标签: python

我有以下文本文件:

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时,我收到超出范围的错误

我得到了它的工作,谢谢你的帮助!

1 个答案:

答案 0 :(得分:2)

我建议您只是将其作为输出格式的一部分来处理。不要在程序中维护冒号 ,只需在打印时添加它们,如下所示:

for i in range(1, len(my_list)+1):
    print str(i)+':', my_list[i]