小写列表列表

Lowercase a list of lists

我有一个列表列表:

data = [['SiteUrl','Url','Title'],['SiteUrl','Url','Title']]

如何使用 python 遍历列表并将所有内容小写?

迭代每个内部列表:

data = [[string.lower() for string in sublist] for sublist in data]

使用列表理解:

data = [[x.casefold() for x in sublst] for sublst in data]

或功能上:

data = [list(map(str.casefold, x)) for x in data]

来自the docs

Casefolding is similar to lowercasing but more aggressive because it is intended to remove all case distinctions in a string.

您可以 map() datamap() 的所有子列表,这将使其所有元素 lower().

data= [['SiteUrl','Url','Title'],['SiteUrl','Url','Title']]

data = list(map(lambda x: list(map(lambda y: y.lower(), x)), data))
print(data)

输出

[['siteurl', 'url', 'title'], ['siteurl', 'url', 'title']]

对于任意数量的级别,您可以尝试这个递归

data= [['SiteUrl','Url','Title'],['SiteUrl','Url','Title']]
def recursive_apply(x, f=lambda v: v.lower()):
    if type(x) is list: 
        return [recursive_apply(el) for el in x]
    return f(x)
recursive_apply(data)   

data = [map(str.lower, sublist) for sublist in data]