比较 python 中的嵌套列表并输出列表中缺少的项目
Compare nested lists in python and output the missing item in the list
我正在尝试比较一个名称列表,每个名称都包含一个水果列表,并输出缺少的水果。
以下是原始脚本中的代码片段。我基本上创建了一个名称列表和一个水果列表,然后我将水果列表附加到名称列表中。
在python中如何比较每个名称的水果列表?
代码片段
namelist = []
namelist.append(users_row[7])
fruitlist = []
fruitlist.append(users_row[4])
namelist.append((list(fruitlist), fruitlist))
print(fruitlist)
当前输出
['John', ([['Apple', 'Orange', 'Pear', 'Grapes']])]
['Amy', ([['Apple', 'Orange', 'Pear', 'Grapes', 'Mango']])]
['Peter', ([['Apple', 'Orange', 'Grapes']])]
需要输出
John,Mango
Amy
Peter,Pear,Mango
使用list-comprehension
:
假设有一个 master_lst
这是我们要与我们想要的列表进行比较的列表:
master_lst = ['Apple', 'Orange', 'Pear', 'Grapes', 'Mango']
johns_lst = ['Apple', 'Orange', 'Pear', 'Grapes']
amys_lst = ['Apple', 'Orange', 'Pear', 'Grapes', 'Mango']
peters_lst = ['Apple', 'Orange', 'Grapes']
print([x for x in master_lst if x not in johns_lst])
print([x for x in master_lst if x not in amys_lst])
print([x for x in master_lst if x not in peters_lst])
输出:
['Mango']
[]
['Pear', 'Mango']
描述所需的输出:
print("John,", ",".join([x for x in master_lst if x not in johns_lst]))
print("Amy,", ",".join([x for x in master_lst if x not in amys_lst]))
print("Peter,", ",".join([x for x in master_lst if x not in peters_lst]))
输出:
John, Mango
Amy,
Peter, Pear,Mango
我正在尝试比较一个名称列表,每个名称都包含一个水果列表,并输出缺少的水果。
以下是原始脚本中的代码片段。我基本上创建了一个名称列表和一个水果列表,然后我将水果列表附加到名称列表中。
在python中如何比较每个名称的水果列表?
代码片段
namelist = []
namelist.append(users_row[7])
fruitlist = []
fruitlist.append(users_row[4])
namelist.append((list(fruitlist), fruitlist))
print(fruitlist)
当前输出
['John', ([['Apple', 'Orange', 'Pear', 'Grapes']])]
['Amy', ([['Apple', 'Orange', 'Pear', 'Grapes', 'Mango']])]
['Peter', ([['Apple', 'Orange', 'Grapes']])]
需要输出
John,Mango
Amy
Peter,Pear,Mango
使用list-comprehension
:
假设有一个 master_lst
这是我们要与我们想要的列表进行比较的列表:
master_lst = ['Apple', 'Orange', 'Pear', 'Grapes', 'Mango']
johns_lst = ['Apple', 'Orange', 'Pear', 'Grapes']
amys_lst = ['Apple', 'Orange', 'Pear', 'Grapes', 'Mango']
peters_lst = ['Apple', 'Orange', 'Grapes']
print([x for x in master_lst if x not in johns_lst])
print([x for x in master_lst if x not in amys_lst])
print([x for x in master_lst if x not in peters_lst])
输出:
['Mango']
[]
['Pear', 'Mango']
描述所需的输出:
print("John,", ",".join([x for x in master_lst if x not in johns_lst]))
print("Amy,", ",".join([x for x in master_lst if x not in amys_lst]))
print("Peter,", ",".join([x for x in master_lst if x not in peters_lst]))
输出:
John, Mango
Amy,
Peter, Pear,Mango