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

[['Company Name      ', ['[email protected]']]
['Company Name   ', ['[email protected]','[email protected]']]
['Company Name', ['[email protected]']]
['Company Name          ', ['[email protected]']]]


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

我已经尝试过了:

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', ['[email protected]']]
['Company Name', ['[email protected]','[email protected]']]
['Company Name', ['[email protected]']]
['Company Name', ['[email protected]']]]

最佳答案

我将以递归方式执行此操作-如果它是字符串,则剥离每个元素,或者如果它是列表,则剥离:

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


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

08-24 14:26