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

问题描述 投票:-1回答:3

这个问题在这里已有答案:

我希望我的列表当前:[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...

python list loops
3个回答
3
投票

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

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

for i in card_number:
    print(i)

1
投票

提示:你不应该使用10,你应该使用范围(len(card_number))

但我更喜欢这种模式

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

for c in card_number:
    print(c)

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]))

OUTPUT:

A, 2, 3, 4, 5, 6, 7, 8, 9, 10
© www.soinside.com 2019 - 2024. All rights reserved.