【问题标题】:Join two lists into one row-wise将两个列表按行合并为一个
【发布时间】:2020-11-21 01:15:40
【问题描述】:

我有两个列表,需要按行加入它们。输出看起来像 list3(如下)。实际上括号对之间没有任何逗号。我尝试了一些不同的方法,但无法弄清楚。

list1 = [1, 2, 3]
list2 = [4, 5, 6]

我想要的输出是:list3 = [[1 4], [2 5], [3 6]]

【问题讨论】:

  • 看看zip...
  • 你的输出是非法的python
  • 您的意思是list3 = [[1, 4], [2, 5], [3, 6]] 在每个列表项中都有, 吗?您不能有一个没有逗号和两个用空格分隔的数字的列表项。如果它们需要用空格分隔,那么它必须是一个字符串。这将导致[['1 4'], ['2 5'],['3 6']]
  • 另外,欢迎来到 Stack Overflow。请阅读如何问好questions。确保您的问题涵盖以下 3 个要素:1. 问题陈述 2. 您的代码(应该是 Minimal, Reproducible Example 3. 错误消息(最好是完整的 Traceback 以帮助其他人查看和提供反馈)。
  • 谢谢,乔!我还在想办法,但会变得更好。

标签: python list merge


【解决方案1】:

使用压缩包

[[i, j] for i,j in zip(list1 , list1 )]

[[1, 4], [2, 5], [3, 6]]

【讨论】:

  • 谢谢,凯南。它有效,但所有内容之间都有逗号。我应该得到的结果似乎在对之间没有任何逗号。我不应该把这些放在我原来的帖子里。
  • 看起来像:[[1 4] [2 5] [3 6]]
  • 所以您希望列表包含字符串? [['1 4']...
  • [list(i) for i in zip(list1 , list2)],第二个是list2
【解决方案2】:

我不确定您是否希望最终列表成为列表列表,但我会假设您会这样做,

list1 = [1, 2, 3] 
list2 = [4, 5, 6]
res = [[*np.asarray([list1, list2])[:,i]] for i in range(3)]
res = [[1, 4], [2, 5], [3, 6]]

【讨论】:

    猜你喜欢
    • 2019-04-30
    • 2014-01-27
    • 2014-04-01
    • 2015-04-01
    • 2021-04-04
    • 1970-01-01
    • 2022-01-26
    相关资源
    最近更新 更多