如何连接列表元素

2024-09-28 20:52:13 发布

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

这里是列表列表,如果列表的第二个元素有name,我只想连接前两个元素。否则什么也不做

下面是我尝试的代码:

lst_1 = [['ANTWERP' 'BRIDGE', '05', 'N'], 
         ['NORTHERN' 'VIGOUR', '05', 'N'],
         ['BRIDGE', '98', 'N']]
for i in lst_1:
    for j in i:               
        j[0:2] = ['_'.join(j[0:2])]

预期产出:

[['ANTWERP_BRIDGE', '05', 'N'], 
 ['NORTHERN_VIGOUR', '05', 'N'],
 ['BRIDGE', '98', 'N']]

我能找到办法吗


Tags: 代码namein元素列表forbridgejoin
2条回答

我不会想太多,只是简单地连接元素,然后添加其余的元素

 [[f"{i[0]}_{i[1]}" if len(i) == 4 else i[0], *i[-2:]] for i in lst_1]

首先,您需要决定第二个元素作为名称意味着什么。我建议两种可能性。一是检查子列表的长度:

if len(i) == 4:

另一个是检查整数:

if len(i) > 2 and not i[1].isdigit():

在任何一种情况下,您都可以像以前一样进行合并,但是使用if而不是内部for循环:

for i in lst_1:
    if <condition>:
        i[:2] = ['_'.join(i[:2])]

这将在适当的位置修改lst_1。如果要用新对象替换它,请使用@Sayse's answer

相关问题 更多 >