嵌套循环和元组

2024-09-30 18:24:43 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图让我的代码打印出每个值在一个新的

cats = ("Tiger","Lion","Cheetah")
canids = ("Dog","Wolf","Fox")
reptiles = ("Snake","Crocodile","Iguana")
animals = (cats, canids,reptiles)
for i in animals:
    for j in [0,-1]:
        print(i[j])

但当我运行它时,它不包括列表的第二个值

^{2}$

Tags: 代码infortigeranimalsdogsnakecats
3条回答

您可以chain不同的ITerable

from itertools import chain
list(chain(*animals))

输出

^{pr2}$

j将是0和{},即索引列表时的第一个和最后一个值。在

你可以简单地

cats = ("Tiger", "Lion", "Cheetah")
canids = ("Dog", "Wolf", "Fox")
reptiles = ("Snake", "Crocodile", "Iguana")
animal_lists = (cats, canids, reptiles)
for animal_list in animal_lists:
    for animal in animal_list:
        print(animal)

如果要在索引范围内迭代,则需要使用range。否则,i只接受值0和{}。在

for i in animals:
    for j in range(0, len(i)): # Note the use of `range` here
        print(i[j])

虽然,由于i本身就是tuple,所以可以直接迭代它。为了便于阅读,我将i重命名为family。在

^{pr2}$

两者都有以下输出。在

Tiger
Lion
Cheetah
Dog
Wolf
Fox
Snake
Crocodile
Iguana

相关问题 更多 >