我有一个列表,我想添加计数。
list1 = ['John', 'Maria',',','and','Danny', 'are','#','1','surfers','.']
我希望我的输出看起来像。
- 约翰
- 玛利亚
- ,
- 和
- 丹尼
- 是
- #
- 1
- 冲浪者
- 醇>
我的代码看起来像这样。我不能使用任何库。
count = 1
for count,a in enumerate(list1):
count += 1
print("{0}{1}".format(count, a))
答案 0 :(得分:3)
请注意以下事项:
enumerate
是一个内置的计数器,您不需要自己递增。print
未在循环中应用。enumerate
有一个可选的start
参数,因此您可以从1而不是0开始。这是一个解决方案。
list1 = ['John', 'Maria',',','and','Danny', 'are','#','1','surfers','.']
for count, a in enumerate(list1, 1):
print("{0}. {1}".format(count, a))
# 1. John
# 2. Maria
# 3. ,
# 4. and
# 5. Danny
# 6. are
# 7. #
# 8. 1
# 9. surfers
# 10. .
答案 1 :(得分:1)
enumerate
将生成一个元组,其中第一个值是循环中的索引。它从零开始计数,因此如果要在一个列表中启动列表,则需要将计数增加1.
list1 = ['John', 'Maria',',','and','Danny', 'are','#','1','surfers','.']
for count, a in enumerate(list1):
print("{}. {}".format(count+1, a))
答案 2 :(得分:1)
你几乎拥有它。试试这个:
for index, a in enumerate(list1):
print('%-1d. %s' % (index + 1, a)
打印:
- 约翰
- 玛利亚
- ,
- 和
- 丹尼
- 是
- #
- 1
- 冲浪者
- 醇>
根据需要。 请注意+1
,因为枚举返回的索引是零索引的!
答案 3 :(得分:1)
使用zip
将两个列表放在一起,以便列表理解
list1 = ['John', 'Maria',',','and','Danny', 'are','#','1','surfers','.']
n = len(list1)
numbered_list_str = '\n'.join([str(i) + '. ' + x for i, x in zip(range(1, n+1), list1)])
print(numbered_list_str)
- 约翰
- 玛利亚
- ,
- 和
- 丹尼
- 是
- #
- 1
- 冲浪者
- 醇>