相关疑难解决方法(0)

按两个字段对Python列表进行排序

我有一个从排序的csv创建的以下列表

list1 = sorted(csv1, key=operator.itemgetter(1))
Run Code Online (Sandbox Code Playgroud)

我实际上想按两个标准对列表进行排序:首先是字段1中的值,然后是字段2中的值.我该怎么做?

python sorting

153
推荐指数
4
解决办法
13万
查看次数

将整数列表划分为总和相等的 K 个子列表

类似的问题有12,但答案没有帮助。假设我们有一个整数列表。我们希望找到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)

python algorithm combinations python-3.x

6
推荐指数
1
解决办法
758
查看次数

标签 统计

python ×2

algorithm ×1

combinations ×1

python-3.x ×1

sorting ×1