我正在比较两个列表中的公共字符串,我的代码目前正在从两个列表中输出公共项。在
列表1
['5', 'orange', '20', 'apple', '50', 'blender']
列表2
^{pr2}$以下是我目前为止的代码:
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)
我现在知道做循环不是答案。同时尝试调用item1[-1]也不起作用。我是Python新手,需要一些帮助!在
谢谢你
我认为你更适合用字典来解决这个问题。。在
所以要得到你想要的结果
^{pr2}$所以如果你想以你想要的格式从每个字典中得到混合机的数量,你可以使用
更进一步,根据
dict1
和dict2
中的内容输出输出:
你可以用两种方法来做,要么保持列表(这更麻烦):
或者用字典更好的方法(在我看来):
^{pr2}$两者都将输出:
你用错误的数据结构来处理这个问题。如果要在两者之间进行查找,则不应将此数据保存在列表中。相反,在这里使用字典会容易得多。在
设置
您可以使用
zip
来创建这两个词典:这将留给您以下两个字典:
^{pr2}$这会使你的问题更容易解决。例如,要查找公用密钥:
以及查找与每个公用密钥匹配的所有值:
输出:
相关问题 更多 >
编程相关推荐