首页 > 解决方案 > 在 Python 中的列表列表中连接元素

问题描述

我有:

df1 = [['10103', 'Baldwin, C', 'SFEN'], ['10115', 'Wyatt, X', 'SFEN']]

连接其中的项目的最佳方法是什么,以便我可以得到类似的东西:

[['10103 - Baldwin, C', 'SFEN'], ['10115 - Wyatt, X', 'SFEN']]

如果我尝试类似

for i in df1:
    df1[0:1] = [' - '.join(df1[0:1])]

我明白了TypeError: sequence item 0: expected str instance, list found

标签: pythonlistfor-loop

解决方案


做和你一样的方法,

>>> df1 = [['10103', 'Baldwin, C', 'SFEN'], ['10115', 'Wyatt, X', 'SFEN']]
>>> for i, item in enumerate(df1):
...     df1[i] = [' - '.join(item[:2]), item[2]]
...
>>> df1
[['10103 - Baldwin, C', 'SFEN'], ['10115 - Wyatt, X', 'SFEN']]

另一种方式,

>>> df1 = [['10103', 'Baldwin, C', 'SFEN'], ['10115', 'Wyatt, X', 'SFEN']]
>>> df1 = [[' - '.join([item1, item2]), item3] for item1, item2, item3 in df1]
>>> df1
[['10103 - Baldwin, C', 'SFEN'], ['10115 - Wyatt, X', 'SFEN']]

推荐阅读