python 任意合并list中的元素,并删除原值

# -*- coding: utf-8 -*-
"""
Created on Fri Jan 15 16:06:37 2021

@author: zhang
"""
list_old=['你',好','哈哈','测试']
list_mg=[2,1,3333,3]
def mg_Index(list_old,list_mg):
    #获取需要list_old的下标并生成新的list
    listname_index=list(enumerate(list_old))
    index_new=[]
    for i in listname_index:
        index_new.append(i[0])
    #转换成元组,用于判断合并的元素下标是否再list中    
    index_new=set(index_new)
    new_name=''
    for i in list_mg:
        if int(i) in index_new: 
            #合并元素       
            new_name +=list_old[int(i)]
            #设置合并的元素为空字符串,用于之后的生产新列表
            list_old[int(i)]=''
        else:
            #print('{}超出长度'.format(i))
            pass
     #添加合并元素 
    list_old.append(new_name)   
    #去除之前的元素
    list_new = [i for i in list_old if i != '']
    return list_new
if __name__ == '__main__':
    new_list=mg_Index(list_old,list_mg)
    print(new_list)

你可能感兴趣的:(python 任意合并list中的元素,并删除原值)