相关疑难解决方法(0)

python中的多组联盟

[[1, '34', '44'], [1, '40', '30', '41'], [1, '41', '40', '42'], [1, '42', '41', '43'], [1, '43', '42', '44'], [1, '44', '34', '43']]
Run Code Online (Sandbox Code Playgroud)

我有一份清单清单.我的目的是检查是否有任何一个子列表与其他子列表有任何共同点(不包括要比较的第一个索引对象).如果它有任何共同点,那么统一这些子列表.

例如,对于这个例子,我的最终答案应该是这样的:

[[1, '34, '44', '40' '30', '41', '42', '43']]
Run Code Online (Sandbox Code Playgroud)

我可以理解我应该将子列表转换为集合,然后使用union()和intersection()操作.但我坚持的是如何比较每个集/子列表.我不能在列表上运行循环并逐个比较每个子列表,因为列表的内容将被修改,这将导致错误.

我想知道的是有没有有效的方法来比较所有子列表(转换为集合)并获得它们的并集?

python list python-3.x set-union

15
推荐指数
2
解决办法
2万
查看次数

如何将数组数组转换为 Python 3 中的集合?

我有什么作为输入:

list: [[2, 4], [2, 6], [2, 8]]
Run Code Online (Sandbox Code Playgroud)

我想要的输出:

set: 2,4,6,8
Run Code Online (Sandbox Code Playgroud)

我目前在做什么(不工作):

def convert(input_list):
    all_nums = set([arr[0], arr[1]] for arr in input_list)
    return all_nums
Run Code Online (Sandbox Code Playgroud)

我知道我可以手动遍历父数组并将子数组的内容添加到set这样的:

def convert(input_list):
    all_nums = set()
    for inner_list in input_list:
        all_nums.add(inner_list[0])
        all_nums.add(inner_list[1])
    return all_nums
Run Code Online (Sandbox Code Playgroud)
  • 如何以pythonic的方式做到一点?
  • 在第二种方法中,我可以做类似的事情all_nums.add(inner_list[0], inner_list[1])吗?

python python-3.x

0
推荐指数
1
解决办法
9638
查看次数

标签 统计

python ×2

python-3.x ×2

list ×1

set-union ×1