我有一个列表filter = ['a','b','c']。我需要从列表中删除以下字符串 “item -a item -b item -c”。哪种做法最有效?通常情况下,列表过滤器包含100到200个项目,每个项目的长度都是100-150。这不会导致溢出吗?什么是支持的字符串的最大长度?字符串格式
字符串格式
回答
一个更清洁的方式来做到这一点:
filter = ['a', 'b', 'c']
" ".join(["item -%s" % val for val in filter])
这工作得很好,大型排列,例如。 filter = ['a'*1000] * 1000
。
伟大的解决方案。谢谢 – Prabhu 2009-09-05 08:15:19
您可以使用join(我相信join
是在Python 3.0一样):
>>> l = ['a','b','c']
>>> print ' item -'.join([''] + l)
>>> ' item -a item -b item -c'
>>> print ' item -'.join([''] + l).lstrip(' ') # eat the leading space
>>> 'item -a item -b item -c'
会不会''item - '。join(l)'同样好用? – 2009-09-05 07:23:10
您可能还想修剪掉结果中多余的空格。 – 2009-09-05 07:23:49
@Dominic Rodger,是的,我们可以修剪领先空间。 '加入(l)'不会给出Prabhu想要的结果。该字符串将开始“一个项目...”而不是“项目-a ...” – 2009-09-05 07:36:37
- 1. 字符串格式
- 2. 格式字符串
- 3. 格式字符串
- 4. 格式字符串
- 5. 字符串格式符号
- 6. 使用字符串格式给出字符串值的格式
- 7. 字符串格式化在格式化整个字符串
- 8. 时间格式和字符串格式
- 9. Reg格式的字符串格式
- 10. __unicode__的Python字符串格式字符?
- 11. 字符串,字符格式崩溃
- 12. iPhone格式化字符串
- 13. 替换格式字符串
- 14. MySQL:格式化字符串
- 15. 字符串格式化django
- 16. 字符串格式| JavaScript | iMacros
- 17. PHP - 格式化字符串
- 18. PHP字符串格式化
- 19. php sprintf格式字符串
- 20. 格式化C字符串
- 21. 格式的字符串
- 22. 格式化字符串
- 23. 字符串格式对齐
- 24. 的UITextField字符串格式
- 25. 字符串格式化
- 26. 扫描字符串格式
- 27. 格式化字符串
- 28. 格式字符串在C#
- 29. 格式字符串攻击
- 30. 组合字符串格式
不要使用'filter'作为变量名称。 “filter”是一个Python函数。 – 2009-09-05 07:00:16
很多东西都是Python内置的,所以现在很难不踩他们。它通常只影响它所在的代码块,所以不要试图记住每个内置函数名称,而只是避免你知道和使用的名称是合理的无害的,如果你错过了一个并且需要使用它,就可以稍后重命名变量。 – 2009-09-05 08:17:27
真的没有那么多的内置函数。刚刚超过80个。 – 2009-09-05 08:50:43