嵌套循环和元组

时间:2018-09-11 18:06:01

标签: 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
Cheetah
Dog
Fox
Snake
Iguana

4 个答案:

答案 0 :(得分:3)

如果要遍历索引范围,则需要使用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

答案 1 :(得分:2)

for _ in range将是j0,即索引列表时的第一个和最后一个值。

您可以简单地

-1

答案 2 :(得分:1)

您可以chain个不同的可迭代项

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

输出

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

答案 3 :(得分:1)

您可以对代码进行的大多数基本修改只是更改这些行集

WooCommerce

同一概念的其他人仅对您已有的内容进行了最小的调整。

相关问题