如何循环访问超出 for 循环范围的列表?

How can I iterate through a list that goes out of range in a for loop?

提问人:lilsolar 提问时间:11/25/2022 最后编辑:lilsolar 更新时间:11/2/2023 访问量:47

问:

我有一个遍历列表的 for 循环。但是,在循环结束时,列表超出了范围。

for i in range(0, 4):
x = case1[row + i][col:]
y = longest_chain(x)
one_counter.append(y)
print(case1[row + i -1][col:]

检查行 + i - 1 时,列表索引超出范围。我怎样才能确保它不会在列表结束时停止?

Python 嵌套 嵌套列表

评论


答:

1赞 Niko 11/25/2022 #1

我不确切知道您想要什么作为输出,但根据您的问题,您将如何在没有嵌套列表的情况下访问每个字符串的第一个和第三个元素:

cards = ['King of Hearts', '4 of Clubs', '8 of Clubs', 'Queen of Clubs', '9 of Diamonds']


for card in cards:
    string_list = card.split(' ')
    rank = string_list[0] # 1st word
    suit = string_list[2] # 3rd word
    print(f'rank: {rank} | suit:{suit}')
    print('----------')

输出:

rank: King | suit:Hearts
----------
rank: 4 | suit:Clubs    
----------
rank: 8 | suit:Clubs    
----------
rank: Queen | suit:Clubs
----------
rank: 9 | suit:Diamonds 
----------