【发布时间】:2022-01-24 20:31:30
【问题描述】:
我的需要是从主列表中获取许多列表的列表差异或反向(不是(反向)),并将这些反向列表保存到变量中以打印它们以查看输出。
仅供参考,我知道如何获得两个列表的差异,但不知道许多列表的差异。 两个列表的区别示例代码:
a = [1,2,3,4,5,6,7,8,9,10]
b = [2,4,6,8,10]
c = [number for number in a if number not in b]
print(c) # OUTPUT: [1, 3, 5, 7, 9]
我从数据库中的表中获取所有列表,请参见下面的两行代码:
t_numbers = cur.execute("SELECT n1, n2, n3, n4, n5 FROM Numbers")
all_list_of_numbers = [num for num in t_numbers]
main_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
all_list_of_numbers = [(1, 2, 3, 4, 5), (1, 2, 3, 5, 9), (2, 4, 7, 8, 10), (3, 5, 6, 8, 10),
(4, 5, 6, 8, 9), (1, 3, 6, 7, 10), (2, 3, 6, 8, 10), (5, 7, 8, 9 ,10),
(1, 2, 4, 6, 9), (1, 2, 3, 8, 9), (1, 5, 6, 8, 9), (2, 3, 4, 5, 7),
(1, 3, 5, 7, 10), (2, 4, 5, 6, 8), (3, 5, 8, 9, 10), (2, 3, 4, 7, 9),
(3, 4, 7, 9, 10), (3, 4, 6, 7, 8), (5, 6, 7, 8, 10), (1, 4, 6, 7, 9)]
我正在编写一个函数,但它并没有按照我想要返回列表的方式运行。 也许我不需要函数,也许使用列表理解或其他更好的方法?
def Diff(main_list, all_list_numbers):
return list(set(main_list) - set(all_list_numbers)) + list(set(all_list_numbers) - set(main_list))
我还有一个函数可以检查并从 Numbers 表中获取五个数字的总数:
def get_total_numbers(allfiveNumbers):
count = 0
for numbers in allfiveNumbers:
count += 1
# print("All the number in the list: ", get_total_numbers(all_list_numbers))
# OUTPUT -- All five numbers lists is: 20
【问题讨论】:
-
这是一种特别的语言吗?
标签: python list difference inverse