Skip to main content
 首页 » 编程设计

python之无法在多维列表中使用 .strip()

2025年05月04日8zhengyun_ustc

我有一个像这样布局的多维列表

[['Company Name      ', ['companyemail@email.com']] 
['Company Name   ', ['companyemail@email.com','companyemail@email.com']] 
['Company Name', ['companyemail@email.com']] 
['Company Name          ', ['companyemail@email.com']]] 

我需要删除每个项目第一个索引中名称前后的空格。

我已经试过了:

def name_filter(vendors): 
    unfiltered=vendors 
    filtered=[] 
    count=0 
    for i in unfiltered: 
        filtered = [x.strip(' ') for x in unfiltered[count][0]] 
        count+=1 
    return filtered 

但是,当我打印列表时,除了一个字母外,它没有显示任何内容

我的预期结果是:

[['Company Name', ['companyemail@email.com']] 
['Company Name', ['companyemail@email.com','companyemail@email.com']] 
['Company Name', ['companyemail@email.com']] 
['Company Name', ['companyemail@email.com']]] 

请您参考如下方法:

我会递归地执行此操作 - 如果每个元素是字符串,则剥离它,如果它是列表,则重复出现:

def recursive_strip(lst): 
    return [(elem.strip() if type(elem) == str else recursive_strip(elem)) for elem in lst] 

您可能需要考虑列表可以包含哪些数据类型(以上假定仅字符串或列表)。