Python 将列表与列表列表合并
我有一份清单:Python 将列表与列表列表合并,python,python-2.7,Python,Python 2.7,我有一份清单: [['John', 'Sergeant '], ['Jack', 'Commander '], ['Jill', 'Captain ']] 如何将其与单个列表合并,如: ['800','854','453'] 最终结果如下所示: [['John', 'Sergeant', '800'], ['Jack', 'Commander', '854'], ['Jill', 'Captain', '453']] 最初我尝试: zip(带列表的列表,列表)但是数据被混淆了 a = [[
[['John', 'Sergeant '], ['Jack', 'Commander '], ['Jill', 'Captain ']]
如何将其与单个列表合并,如:
['800','854','453']
最终结果如下所示:
[['John', 'Sergeant', '800'], ['Jack', 'Commander', '854'], ['Jill', 'Captain', '453']]
最初我尝试:
zip(带列表的列表,列表)
但是数据被混淆了
a = [['John', 'Sergeant '], ['Jack', 'Commander '], ['Jill', 'Captain ']]
b = ['800', '854', '453']
c = [x+[y] for x,y in zip(a,b)]
print c
结果:
[['John', 'Sergeant ', '800'], ['Jack', 'Commander ', '854'], ['Jill', 'Captain ', '453']]
使用
枚举
而不是邮政编码
的解决方案:
a = [['John', 'Sergeant '], ['Jack', 'Commander '], ['Jill', 'Captain ']]
b = ['800','854','453']
c = [a[i]+[bi] for i,bi in enumerate(b)]
在这种特殊情况下,使用
zip
无疑是更具Python风格的解决方案。但是,有时您希望能够访问索引(是的,即使在Python中也是如此),因此了解枚举
也很有用。范围
而不是zip
a = [['John', 'Sergeant '], ['Jack', 'Commander '], ['Jill', 'Captain ']]
b = ['800','854','453']
c = [a[x]+[b[x]] for x in range(len(b))]
print c
或更新原始列表:
[a[x].append(b[x]) for x in range(3)]