gpt4 book ai didi

python - Python列表中的多个 'for'循环

转载 作者:行者123 更新时间:2023-11-30 21:57:46 25 4
gpt4 key购买 nike

这是我尝试过的代码:

booksa = [book[i] for book in books for k in range(len(lista)) for i in lista[k][0] ]
booksb = [book[j] for book in books for e in range(len(lista)) for j in lista[e][1] ]

嗨,我不太熟悉列表中的循环 - 列表理解。我有一个名为 'books' 的列表和一个名为 'lista' 的列表。我想找到 books 中每个元组的第二个元素,以 lista 作为索引,并将相应的对存储在列表 booksabooksb 中

books = [(17,5), (3,55), (5,12), (14,9), (16,1), (9,5), (5,6), (18,13), (19,7), (1,20), (4,12), (11,1), (8,6), (8,18), (3,4), (13,7), (17,22), (20,7)]
lista = [[(0,9), (3,10), (6,15)]]

例如,对于 lista 中的 (0,9),我们回头查看 books 并找到 17(0表示第一个元组)放入(17,5)中,然后将17放入booksa中,以及7 >(9 表示第八个元组) 将 (9,5) 放入 booksb 中。

如何在列表中使用一些“for”循环来执行此操作?

最佳答案

应用的逻辑如下:

  • 选择 lista 元组元素中的第一项,并使用它索引到 books 列表,并获取其中存在的元组的第一项以添加到 booksa
  • 选择 lista 元组元素中的第二项,并使用它索引到 books 列表,并获取其中存在的元组的第二项以添加到 booksb

检查以下代码:

books = [(17,5), (3,55), (5,12), (14,9), (16,1), (9,5), (5,6), (18,13), (19,7), (1,20), (4,12), (11,1), (8,6), (8,18), (3,4), (13,7), (17,22), (20,7)]
lista = [[(0,9), (3,10), (6,15)]]

booksa = []
booksb = []
for x in lista:
for y in x:
booksa.append(books[y[0]][0])
booksb.append(books[y[1]][1])

print ("booksa = %s" %(booksa))
print ("booksb = %s" %(booksb))

输出:

booksa = [17, 14, 5]
booksb = [20, 12, 7]

关于python - Python列表中的多个 'for'循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55155584/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com