我有一个从排序的csv创建的以下列表
list1 = sorted(csv1, key=operator.itemgetter(1))
Run Code Online (Sandbox Code Playgroud)
我实际上想按两个标准对列表进行排序:首先是字段1中的值,然后是字段2中的值.我该怎么做?
类似的问题有1和2,但答案没有帮助。假设我们有一个整数列表。我们希望找到K不相交的列表,使它们完全覆盖给定的列表,并且都具有相同的总和。例如,如果A = [4, 3, 5, 6, 4, 3, 1]然后K = 2答案应该是:
[[3, 4, 6], [1, 3, 4, 5]]
or
[[4, 4, 5], [1, 3, 3, 6]]
Run Code Online (Sandbox Code Playgroud)
我编写了一个代码,该代码仅在以下情况下才有效:K = 2对于较小的列表作为输入,但对于较大的列表,它可以正常工作,因为代码的复杂性很高,操作系统会终止任务。我的代码是:
def subarrays_equal_sum(l):
from itertools import combinations
if len(l) < 2 or sum(l) % 2 != 0:
return []
l = sorted(l)
list_sum = sum(l)
all_combinations = []
for i in range(1, len(l)):
all_combinations += (list(combinations(l, i)))
combinations_list = [i …Run Code Online (Sandbox Code Playgroud)