python - 将列表中的项目添加到python中的列表列表

标签 python list

<分区>

假设我有一个列表a 和一个列表列表b:

a = ['1','2','3']
b = [['Hello'],['I'],['am']]

我怎样才能获得以下输出?

b = [['Hello','1'],['I','2'],['am','3']]

我已经尝试过各种失败的事情,如下所示。

for i in a:
    for j in range(b):
        j.append(i[j])
print(b)

编辑: 我一直在寻找一种方法来做到这一点,以防两个列表的长度不同,而重复的列表不会回答。如果您查看已接受答案的评论,您会找到解决方案。

最佳答案

您可以使用 zip 的列表推导式:

r = [[s[0], n] for (n, s) in zip(a, b)]

评论后更新:

如果您的列表长度不同,您可以使用 itertools.zip_longest和类似的东西

from itertools import zip_longest

r = [s if n is None else
     [n] if s is None else
     [s[0], n] for (n, s) in zip_longest(a, b)]

关于python - 将列表中的项目添加到python中的列表列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44530239/

相关文章:

python - 字符串数组数据需要去掉美元符号并转换为 float

python - 如何使用 sys.argv 将字符串变量从 shell 脚本传递到 python?

list - Haskell:列表推导式是高阶函数吗?

返回不同类型泛型列表的Java方法

css - Sencha Touch 自定义列表行

python - 如何从字典中的 Python 元组键中获取所有值到一个列表中?

python - 如何在 OpenShift 上使用 mongohq 或 mongolab

python - 在 Pyodbc 中使用哪个版本的 MySQL 驱动程序

c# - 从列表项中删除字段等于某些项字段的项

java - 将值设置为 sam 对象时替换列表值