如何从二元组构成的列表中拆分生成两个对应一维数组
解决方法
你给出的列表c存在一处笔误:第5位的(3,5)应为(2,5),修正后才能得到你预期的输出,修正后的c为:
c = [(1,4), (1,5), (1,6), (2,4), (2,5), (2,6), (3,4), (3,5), (3,6)]
直接使用Python内置解压语法即可一行完成操作:
a, b = map(list, zip(*c))
操作说明
zip(*c)会将列表c中的所有元组按位置拆分,返回两个元组,分别包含所有元组的第一个元素集合、第二个元素集合map(list, ...)会将zip返回的元组转换为列表类型,分别赋值给变量a和b
运行后得到的结果完全符合要求:a = [1, 1, 1, 2, 2, 2, 3, 3, 3]b = [4, 5, 6, 4, 5, 6, 4, 5, 6]
如果你不需要修正c的原有内容,直接运行上述代码也能得到对应c元素拆分后的a、b列表,只是结果和你给出的预期值不一致。
内容的提问来源于stack exchange,提问作者Ostrich
相关产品推荐
相关产品推荐

