我有一个列表列表:
data = [['SiteUrl','Url','Title'],['SiteUrl','Url','Title']]
如何使用python遍历列表并将所有内容小写?
答案 0 :(得分:2)
遍历每个内部列表:
data = [[string.lower() for string in sublist] for sublist in data]
答案 1 :(得分:2)
使用列表理解:
data = [[x.casefold() for x in sublst] for sublst in data]
或功能上:
data = [list(map(str.casefold, x)) for x in data]
来自the docs:
折页与下折类似,但更具攻击性,因为它 旨在删除字符串中的所有大小写区别。
答案 2 :(得分:0)
您可以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']]
答案 3 :(得分:0)
对于任意数量的级别,您可以尝试此递归
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)
答案 4 :(得分:0)
data = [用于数据中子列表的map(str.lower,sublist)]