Python如何实现嵌套列表符合条件时拼接前两个元素
原代码问题
你写的代码多加了一层不必要的内层循环,遍历j in i时j已经是子列表内的单个字符串,对字符串做切片赋值属于非法操作,也不符合需求逻辑。
正确实现代码
# 注意原列表前两个子列表的元素间漏了逗号,已修正 lst_1 = [['ANTWERP', 'BRIDGE', '05', 'N'], ['NORTHERN', 'VIGOUR', '05', 'N'], ['BRIDGE', '98', 'N']] for sub_lst in lst_1: # 满足两个条件才合并:子列表长度≥2,且第二个元素是纯字母的名称 if len(sub_lst) >= 2 and sub_lst[1].isalpha(): sub_lst[0:2] = ['_'.join(sub_lst[0:2])] print(lst_1)
输出结果
[['ANTWERP_BRIDGE', '05', 'N'], ['NORTHERN_VIGOUR', '05', 'N'], ['BRIDGE', '98', 'N']]
如果你的“名称”判定规则不只是纯字母,可以调整sub_lst[1].isalpha()这部分的判断逻辑,当前实现完全匹配你给出的需求样例。
内容的提问来源于stack exchange,提问作者Stark
相关产品推荐
相关产品推荐

