Python 根据一个值在多个列表中列出的次数创建新列表
我有三个不同的清单。所有列表中的每个元素都只是电话号码。如何让我的应用程序创建一个新列表,显示每个电话号码所在的列表Python 根据一个值在多个列表中列出的次数创建新列表,python,Python,我有三个不同的清单。所有列表中的每个元素都只是电话号码。如何让我的应用程序创建一个新列表,显示每个电话号码所在的列表 from openpyxl import load_workbook July = load_workbook(filename="July.xlxs") August = load_workbook(filename="August.xlxs") September = load_workbook(filename="Septe
from openpyxl import load_workbook
July = load_workbook(filename="July.xlxs")
August = load_workbook(filename="August.xlxs")
September = load_workbook(filename="September.xlxs")
seven = July.active
eight = August.active
nine = September.active
list_7 = []
list_8 = []
list_9 = []
for row in seven.iter_rows(1. seven.max_row):
list_7.append(row[0].value)
for row in eight.iter_rows(1, eight.max_row):
list_8.append(row[0].value)
for row in nine.iter_rows(1, nine.max_row):
list_9.append(row[0].value)
正如评论中所说,使用字典
d = {}
for num in list_7:
d[num] = 'list_7'
for num in list_8:
d[num] = 'list_8'
for num in list_9:
d[num] = 'list_9'
您可以在代码末尾添加以下内容。它不是超高效的,但它完成了任务
list_n = {}
for num in list_7:
if list_n.get(num) is None:
list_n[num] = {"list_7"}
for num in list_8:
if list_n.get(num) is None:
list_n[num] = {"list_8"}
else:
list_n[num].add("list_8")
for num in list_9:
if list_n.get(num) is None:
list_n[num] = {"list_9"}
else:
list_n[num].add("list_9")
print(list_n)
它是如何逐步工作的:
冲洗并重复清单8和清单9。您可以尝试使用字典={“ph number”:list_num}一种方法是使用字典。另一种方法是创建一个数据框,并将电话号码标记为月份。如果标记为1、True或Yes(bool更好),则该电话号码是该月的一部分。