gpt4 book ai didi

python - 关联列表中的两个项目

转载 作者:IT老高 更新时间:2023-10-28 20:25:40 26 4
gpt4 key购买 nike

我正在比较两个列表的常见字符串,我的代码目前可以从两个列表中输出共同的项目。

列表1

['5', 'orange', '20', 'apple', '50', 'blender']

列表2

['25', 'blender', '20', 'pear', '40', 'spatula']

到目前为止,这是我的代码:

for item1 in list1[1::2]:
for item2 in list2[1::2]:
if item1 == item2:
print(item1)

此代码将返回 blender 。我现在要做的是在每个列表中打印搅拌器之前的数字以获得类似于以下内容的输出:

blender, 50, 25

我尝试在 for 循环中添加两行新行,但没有得到所需的输出:

for item1 in list1[1::2]:
for item2 in list2[1::2]:
for num1 in list1[0::2]:
for num2 in list2[0::2]:
if item1 == item2:
print(item1, num1, num2)

我现在知道制作 for 循环不是答案。也尝试调用 item1[-1] 不起作用。我是 Python 新手,需要一些帮助!

谢谢

最佳答案

您可以通过两种方式做到这一点,要么留在列表中(哪个更困惑):

list1 = ['5', 'orange', '20', 'apple', '50', 'blender']
list2 = ['25', 'blender', '20', 'pear', '40', 'spatula']
for item1 in list1[1::2]:
for item2 in list2[1::2]:
if item1 == item2:
item_to_print = item1
print(item1, ",", end="")
for index in range(len(list1)):
if list1[index] == item1:
print(list1[index - 1], ",", end="")
for index in range(len(list2)):
if list2[index] == item1:
print(list2[index - 1])

或者更好的方法(在我看来)用字典:

dict1 = {'apple': '20', 'blender': '50', 'orange': '5'}
dict2 = {'blender': '25', 'pear': '20', 'spatula': '40'}
for item in dict1:
if item in dict2:
print(item, ",", dict1[item], ",", dict2[item])

两者都会输出:

>> blender , 50 , 25

关于python - 关联列表中的两个项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52390125/

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