如何使用for循环转到列表中的下一个值?

时间:2019-04-11 07:43:35

标签: python list loops

我希望我的当前列表为:[0]每次循环重复时增加1。

card_number = ['A','2','3','4','5','6','7','8','9','10']

for i in range(10):
    print(card_number[0])

我希望它打印列表中的每个字符串-例如:A, 2 ,3 , 4...

3 个答案:

答案 0 :(得分:3)

python在列表本身上使用in运算符,python会自动为您迭代列表。

card_number = ['A','2','3','4','5','6','7','8','9','10']

for i in card_number:
    print(i)

答案 1 :(得分:1)

提示:您不应使用10,而应使用range(len(card_number))

但是我更喜欢这种模式

card_number = ['A','2','3','4','5','6','7','8','9','10']

for c in card_number:
    print(c)

答案 2 :(得分:1)

调试

for i in range(10):
    print(card_number[0])  # notice this line

它将打印0th元素,即A在列表中10次,当然不是您想要的。

因此

使用计数器变量i代替索引值0

card_number = ['A','2','3','4','5','6','7','8','9','10']

for i in range(len(card_number)):  # Use len(card_number) instead to avoid accidents
    print(card_number[i], end = " ")

建议(单线):

使用in运算符,该运算符适用于列表中的每个元素。

print(', '.join([elem for elem in card_number]))

输出

A, 2, 3, 4, 5, 6, 7, 8, 9, 10