选择哪个 - line.lower() 还是 word.lower()
当我需要把一行文字分开,并把所有单词放到一个小写的列表里时,哪种方法更好呢:
1.)
list = []
for word in line.split():
word = word.lower()
list.append(word)
2.)
list = []
for word in line.lower().split():
list.append(word)
这样做会影响性能吗?实际上有什么区别吗(除了第二种方法更简短)?
编辑 添加了缺失的 split()
。
6 个回答
2
我不太清楚速度方面的事情,但这个代码其实并不是你想的那样:for word in line.lower()
。它给你的是字符,而不是单词。
4
可以试试用 列表推导式
。
[x.lower() for x in line]
这样会返回一个所有单词都变成小写的列表。如果你想去掉空格的话:
[x.lower() for x in line if x.strip() != '']
5
可能更简洁一些:
>>> a = "I AM A DEVELOPER"
>>> a.lower().split()
['i', 'am', 'a', 'developer']