【发布时间】:2018-08-10 15:35:16
【问题描述】:
我的输入:
list: [[2, 4], [2, 6], [2, 8]]
我想要的输出:
set: 2,4,6,8
我目前在做什么(不工作):
def convert(input_list):
all_nums = set([arr[0], arr[1]] for arr in input_list)
return all_nums
我知道我可以手动遍历父数组并将子数组的内容添加到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
- 如何以 pythonic 方式做到这一点?
- 在第二种方法中,我可以执行
all_nums.add(inner_list[0], inner_list[1])之类的操作吗?
【问题讨论】:
-
你的意思是集合应该是1,2,3,4吗?
-
是的..我的错误。更新了问题
-
你的 6 和 8 在你的预期集合中来自哪里?您只想要扁平化输入列表中的一组所有数字吗?在这种情况下
{1, 2, 3, 4}? -
他更新了他的输入,他的输出现在有意义了。
-
@user3483203 在第二种方法中,我可以执行 all_nums.add(inner_list[0], inner_list[1]) 之类的操作吗?
标签: python python-3.x