Python 嵌套循环和元组

Python 嵌套循环和元组,python,for-loop,tuples,Python,For Loop,Tuples,我试图让我的代码在一个新的页面上打印出每个值 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]) 但当我运行它时,它不包括列表的第二个值 Tiger C

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

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])
但当我运行它时,它不包括列表的第二个值

Tiger
Cheetah
Dog
Fox
Snake
Iguana

j
将是
0
-1
,即索引列表时的第一个和最后一个值

你可以简单地

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)

j
将是
0
-1
,即索引列表时的第一个和最后一个值

你可以简单地

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
-1

for i in animals:
    for j in range(0, len(i)): # Note the use of `range` here
        print(i[j])
尽管如此,由于
i
本身就是一个
tuple
,您可以直接对其进行迭代。为了便于阅读,我将
I
重命名为
family

for family in animals:
    for animal in family:
        print(animal)
两者都有以下输出

Tiger
Lion
Cheetah
Dog
Wolf
Fox
Snake
Crocodile
Iguana

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

for i in animals:
    for j in range(0, len(i)): # Note the use of `range` here
        print(i[j])
尽管如此,由于
i
本身就是一个
tuple
,您可以直接对其进行迭代。为了便于阅读,我将
I
重命名为
family

for family in animals:
    for animal in family:
        print(animal)
两者都有以下输出

Tiger
Lion
Cheetah
Dog
Wolf
Fox
Snake
Crocodile
Iguana
你可以用不同的词

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

['Tiger',
 'Lion',
 'Cheetah',
 'Dog',
 'Wolf',
 'Fox',
 'Snake',
 'Crocodile',
 'Iguana']
你可以用不同的词

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

['Tiger',
 'Lion',
 'Cheetah',
 'Dog',
 'Wolf',
 'Fox',
 'Snake',
 'Crocodile',
 'Iguana']

您可以对代码进行的最基本的修改就是简单地更改这些行

for i in animals:
    for j in i:
        print(j)

其他人也提供了相同的概念,只是对您已有的内容进行了最小的调整。

您可以对代码进行的最基本的修改就是简单地更改这些行集

for i in animals:
    for j in i:
        print(j)

其他人也提供了相同的概念,只是对您已有的内容进行了最小的调整。

您希望[0,-1]中j的
做什么:
做什么?这不仅仅是第二个值。您正在迭代0和-1,这是元组索引的第一个和最后一个元素。因此,甚至不考虑中间的任何元素!你希望[0,-1]中的j做什么?:这不仅仅是第二个值。您正在迭代0和-1,这是元组索引的第一个和最后一个元素。因此,甚至不考虑中间的任何元素!