Python禁用列表字符串"打破"

时间:2016-02-07 22:49:24

标签: python

有没有办法禁用打破字符串列表。例如:

[["foo"],["bar"]]

是否有办法在列表中包含一个字符串,该字符串不是"已损坏",例如{{1}}?

4 个答案:

答案 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']]