小写列表列表
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()
data
到 map()
的所有子列表,这将使其所有元素 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]
我有一个列表列表:
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()
data
到 map()
的所有子列表,这将使其所有元素 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]