我有功能的代码,但我希望它返回列表对象的名称,而不是位置


Apples = 1
Oranges = 0
Bananas = 1
Grapes = 0
list1 = [Apples, Oranges, Bananas, Grapes]
y = len(list1)
for x in range(0,y):
if list1[x] == 1:
print (x)

这段代码将打印出值为1:0,2的变量的位置

希望输出变量的名称而不是位置(比如苹果和香蕉)。

使用字典方法编辑代码(打印出所有水果名称):

Apples = 1
Oranges = 0
Bananas = 1
Grapes = 0

FruitValues = {"Apples": Apples,"Oranges": Oranges,"Bananas": 
Bananas,"Grapes": Grapes}
myFruits = ["Apples", "Oranges", "Bananas", "Grapes"]

for x in myFruits:
if x in FruitValues:
print(f"{x}")

这是一个不可行的想法:

Apples = 1
Oranges = 0
Bananas = 1
Grapes = 0

FruitValues = {"Apples": Apples,"Oranges": Oranges,"Bananas": 
Bananas,"Grapes": Grapes}
myFruits = ["Apples", "Oranges", "Bananas", "Grapes"]

for x, y in FruitValues.items():
if y in FruitValues == 1:
print(y)

我建议使用字典给元素赋值

FruitValues = {
"Apples": 1,
"Oranges": 0,
"Bananas": 1,
"Grapes": 0
}

那么你可以创建一个水果列表

myFruits = ["Apples", "Oranges", "Bananas", "Grapes"]

你可以遍历列表并检查该水果是否存在于你的字典

for fruit in myFruits:
# Print the fruit if it has a value of 1
if fruit in FruitValues and FruitValues[fruit] == 1:
print(f"{fruit} has a value of {FruitValues[fruit]}")

你最后差点就成功了。

for x, y in FruitValues.items():
if y == 1:
print(x)

最新更新