【问题标题】:How to combine two lists to make each element of the list have two values, one from each list?如何组合两个列表以使列表的每个元素都有两个值,一个来自每个列表?
【发布时间】:2019-02-17 19:44:33
【问题描述】:

好的,我有两个列表。我正在尝试将它们上传到 .json 文件,但我首先想将它们组合起来。我想合并这两个列表,使合并列表的每个元素成为 2 个部分。例如

list1 = [[4],[5],[6],[7]]
list2 = [["a"],["b"],["c"],["d"]]

然后,一旦它们组合在一起,我希望它们看起来像这样:

mergedList = [[4, "a"], [5, "b"], [6, "c"], [7, "d"]]

我该怎么做呢?如果它更容易,我要做的就是将 3 个数据值保存到我正在搜索的这个 .json PER 项目中。谢谢!

【问题讨论】:

  • 为什么每个列表都是列表的列表?意思是为什么[[4],[5]] 而不是[4,5]

标签: python python-3.x list


【解决方案1】:

你可以通过列表理解来做到这一点,

In [18]: [i+j for i,j in zip(list1,list2)]
Out[18]: [[4, 'a'], [5, 'b'], [6, 'c'], [7, 'd']]

【讨论】:

    【解决方案2】:

    并且以防每个列表中的元素都不在自己的列表中(这是一个奇怪的设计):

    >>> list1 = ["a", "b", "c"]
    >>> list2 = [1, 2, 3]
    >>> [[i, j] for i, j in zip(list1,list2)]
    
    [['a', 1], ['b', 2], ['c', 3]]
    

    【讨论】:

    • 这在结构上不是 OP 的输入。
    • 正如我在答案@schwobaseggl 中明显提到的
    • 或者更实用的方法:list(map(list, zip(list1, list2)))
    猜你喜欢
    • 1970-01-01
    • 2020-05-22
    • 2018-11-11
    • 2018-11-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多