有没有办法禁用打破字符串列表。例如:
[["foo"],["bar"]]
是否有办法在列表中包含一个字符串,该字符串不是"已损坏",例如{{1}}?
答案 0 :(得分:3)
非常特别:
>>> a = "foo"
>>> b = list()
>>> b.append([a])
>>> b
[['foo']]
答案 1 :(得分:1)
这样做:
>>> a = "foo"
>>> b = list()
>>> b.append([a])
>>> b
[["foo"]]
答案 2 :(得分:1)
发生这种情况的原因是list
函数通过获取传递它的序列的每个元素并将它们放入列表中来工作。 Python中的字符串是一个序列,序列的元素是单个字符。
拥有"序列的抽象概念"意味着许多Python函数可以处理多种数据类型,只要它们接受序列即可。一旦你习惯了这个想法,希望你开始发现这个概念比惊讶更有用。
答案 3 :(得分:-1)
你听起来好像想要在字边界而不是在每个字母上打破。
尝试类似
的内容a = "foo bar"
b = list()
b.append(a.split(' ')) # [['foo', 'bar']]
RegEx示例(支持多个连续空格):
import re
a = "foo bar"
b.append(re.split(r'\s+', a)) # [['foo', 'bar']]