函数将每个列表中的前2个元素连接到列表列表中

2024-10-01 02:34:16 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一份清单:

listoflist = [['BOTOS', 'AUGUSTIN', 14, 'March 2016', 600, 'ALOCATIA'], ['HENDRE', 'AUGUSTIN', 14, 'February 2015', 600, 'ALOCATIA']]

^^这只是一个例子,我的列表中会有更多相同格式的列表。 这将是我想要的输出:

^{pr2}$

基本上,在每个列表中,我希望将第一个索引与第二个索引连接起来,以便在一个索引中形成一个全名,如示例所示。 我需要一个函数来输入一个列表,我怎么能用一个简单的方法来完成呢?(我不想要额外的空间。我用的是python3.5,非常感谢您抽出时间!在


Tags: 方法函数示例列表格式空间例子march
3条回答

你可以试试这个:

f = lambda *args: [' '.join(args[:2]), *args[2:]]

listoflist = [['BOTOS', 'AUGUSTIN', 14, 'March 2016', 600, 'ALOCATIA'], ['HENDRE', 'AUGUSTIN', 14, 'February 2015', 600, 'ALOCATIA']]

final_list = [f(*i) for i in listoflist]

输出:

^{pr2}$

您可以遍历外部列表,然后连接前两项的片段:

def merge_names(lst):
   for l in lst:
      l[0:2] = [' '.join(l[0:2])]

merge_names(listoflist)
print(listoflist)
# [['BOTOS AUGUSTIN', 14, 'March 2016', 600, 'ALOCATIA'], ['HENDRE AUGUSTIN', 14, 'February 2015', 600, 'ALOCATIA']]

这个简单的列表理解可以做到:

res = [[' '.join(item[0:2]), *item[2:]] for item in listoflist]

join列表中的前两项并按原样附加其余项。在

相关问题 更多 >