回答
''.join(c.lower() for c in s if not c.isspace())
不.Python不是Ruby。
>>> string=""" a b c
... D E F
... g
... """
>>> ''.join( i.lower() for i in string.split() )
'abcdefg'
>>>
OR
>>> ''.join(map(str.lower, string.split()) )
'abcdefg'
您的加入拆分解决方案仍然比John Machin的答案慢很多,使用timeit将其时钟数设置为0.733391046524s,对于250k代表,对于他的解决方案,则为0.413959026337s。以最快的速度前进! – radtek 2017-08-05 03:53:39
这里使用的解决方案正则表达式:
>>> import re
>>> test = """AB cd KLM
RST l
K"""
>>> re.sub('\s+','',test).lower()
'abcdklmrstlk'
这似乎是最慢的一组,在250k迭代中的0.809034109116s与John Machin的解决方案在0.411396980286s。地图也比0.582627058029s更快。 – radtek 2017-08-05 03:47:10
怎么样一个简单快速答案吗?没有map
,没有for
环路,...
>>> s = "Foo Bar " * 5
>>> s
'Foo Bar Foo Bar Foo Bar Foo Bar Foo Bar '
>>> ''.join(s.split()).lower()
'foobarfoobarfoobarfoobarfoobar'
>>>
[Python的2.7.1]
>python -mtimeit -s"s='The quick brown Fox jumped over the lazy dogs'" "''.join(c.lower() for c in s if not c.isspace())"
100000 loops, best of 3: 11.7 usec per loop
>python27\python -mtimeit -s"s='The quick brown Fox jumped over the lazy dogs'" "''.join( i.lower() for i in s.split() )"
100000 loops, best of 3: 3.11 usec per loop
>python27\python -mtimeit -s"s='The quick brown Fox jumped over the lazy dogs'" "''.join(map(str.lower, s.split()) )"
100000 loops, best of 3: 2.43 usec per loop
>\python27\python -mtimeit -s"s='The quick brown Fox jumped over the lazy dogs'" "''.join(s.split()).lower()"
1000000 loops, best of 3: 1 usec per loop
+1不妨使用最快,最正确的选项。 – samplebias 2011-04-27 21:56:10
+1,确实是我目前看到的最快的。用timeit模块确认使用250k迭代0.403948068619s使用split,0.585318088531s使用map。谢谢! – radtek 2017-08-05 03:43:38
- 1. 将所有大写字母替换为小写字母,除了urlencoded字符串
- 2. 删除字符串中的所有字符但字母
- 3. Python从字符串中删除字母
- 4. 在Python中删除字符串中的大写字母
- 5. 如何从字符串中删除所有字母字符?
- 6. 快速删除字符串中的所有非字母字符,python
- 7. 删除所有的空白和所有换行符和字符
- 8. 如何从python中的字符串中删除小写字词
- 9. 将字符串转换为小写字母,但所有元字符除外
- 10. SQL Server-删除字符串中的所有字母
- 11. 删除Rails中字符串的所有空格字符
- 12. 有选择地删除空白字符串后在Python
- 13. Python - 删除字符串中的空格
- 14. 修剪字符串,删除空白
- 15. 删除字符串中多余的空白字符
- 16. C - 删除字符串中的空白字符
- 17. SQL如何删除所有的ASCII字符(空白字段输入后空白)
- 18. C#字符串中所有字母字符的反向大小写
- 19. 填写空白字符串
- 20. 从lua字符串中删除所有非字母数字字符
- 21. 从字符串中删除所有非字母,非数字字符?
- 22. 删除字符串中与数字和字母不同的所有符号
- 23. 在字符串中删除SED空白字符
- 24. 从字符串中删除字母
- 25. 带大写字母和小写字母的字符串转换
- 26. 如何从PHP中的字符串中删除所有非字母数字和非空格字符?
- 27. 将空白分割为空白字符,除了首字母缩写词
- 28. 使字符串数组的所有字符串变成小写字母,除了第一个字
- 29. 删除所有字母和逗号从字符串
- 30. 无法删除Python字符串返回的字符串中的法文字母
是正则表达式的东西是在Python用得少? – 2011-04-27 04:04:11
正则表达式通常不是必需的。 – 2011-04-27 04:05:43
@DutrowLLC,它们通常不是必需的,但有时它们是不可或缺的。 – ghostdog74 2011-04-27 04:07:49