gpt4 book ai didi

python - 如何遍历配对值,以及如何从您正在使用的列表中命名变量?

转载 作者:太空宇宙 更新时间:2023-11-04 03:57:54 26 4
gpt4 key购买 nike

我这里有一些代码我遇到了问题:

items = [["item1", 5, 10, 8, 6], ["item2", 4, 6, 3, 9]]
mean = [5, 5, 5, 5]
for x in items[0]:
value = 0
for y in mean:
if x >= y:
value = value + 1

我基本上想遍历每个列表,以便将 x[1] 与 mean[0] 进行比较,将 x[2] 与 mean[1] 进行比较,并将 x[3] 与 mean[2] 进行比较,等等。然后对下一个列表再次重复此操作。所以我知道那里的 'for y' 意味着我正在将 x[0] 与所有 y 值进行比较,但我不知道如何将它更改为我想要它做的事情?

其次,我希望“值”实际上等于每个列表中的第一项。因此,它实际上不是 value,而是 item1。因为我不知道 item1 是什么,所以我需要将它从列表中提取出来,然后将其设为变量,但我不知道该怎么做。所以实际上它看起来像这样:

items = [["item1", 5, 10, 8, 6], ["item2", 4, 6, 3, 9]]
mean = [5, 5, 5, 5]
for x in items[0]:
*item1* = 0 (but this needs to be named from x[0]
for y in mean:
if x >= y:
*item1* = *item1* + 1

所以最后我希望输出看起来像这样:

item1 = 4
item2 = 2

对于该怎么做有点不知所措,我们将不胜感激。哦,请保持简单我真的不知道我在做什么。

最佳答案

你可以使用zip:

zip 从传递给它的 iterables 返回相同索引上的项目。

演示:

>>> item = items[0]
>>> zip(item[1:], mean)
[(5, 5), (10, 5), (8, 5), (6, 5)]

zip 返回一个元组列表,对于内存高效的解决方案,请使用 iterools.izip

代码:

for item in items:
val = sum( x >= y for x,y in zip(item[1:], mean))
# x>=y is either True or False and in python True == 1, False == 0
print "{} = {}".format(item[0],val)
...
item1 = 4
item2 = 2

关于python - 如何遍历配对值,以及如何从您正在使用的列表中命名变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17328209/

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