Python禁用列表字符串“;打破;

Python禁用列表字符串“;打破;,python,Python,是否有一种方法可以禁用使用列表中断字符串。例如: >>> a = "foo" >>> b = list() >>> b.append(list(a)) >>> b >>>[['f', 'o', 'o']] 有没有一种方法可以让列表中的字符串不“断开”,例如[[“foo”],[“bar”]]?非常简单: >>> a = "foo" >>> b = list() >&

是否有一种方法可以禁用使用列表中断字符串。例如:

>>> a = "foo"
>>> b = list()
>>> b.append(list(a))
>>> b
>>>[['f', 'o', 'o']]
有没有一种方法可以让列表中的字符串不“断开”,例如
[[“foo”],[“bar”]]

非常简单:

>>> a = "foo"
>>> b = list()
>>> b.append([a])
>>> b
[['foo']]
非常简单:

>>> a = "foo"
>>> b = list()
>>> b.append([a])
>>> b
[['foo']]

听起来你好像想打破单词的界限,而不是每个字母

试试像这样的东西

a = "foo bar"
b = list()

b.append(a.split(' '))  # [['foo', 'bar']]
正则表达式示例(支持多个连续空格):


听起来你好像想打破单词的界限,而不是每个字母

试试像这样的东西

a = "foo bar"
b = list()

b.append(a.split(' '))  # [['foo', 'bar']]
正则表达式示例(支持多个连续空格):

这样做:

>>> a = "foo"
>>> b = list()
>>> b.append([a])
>>> b
[["foo"]]
这样做:

>>> a = "foo"
>>> b = list()
>>> b.append([a])
>>> b
[["foo"]]

发生这种情况的原因是
list
函数通过获取您传递的序列中的每个元素并将它们放入列表中来工作。Python中的字符串是一个序列,序列的元素是单个字符


拥有这个抽象的“序列”概念意味着许多Python函数可以处理多种数据类型,只要它们接受一个序列。一旦你习惯了这个想法,希望你会开始发现这个概念更有用而不是令人惊讶。

发生这种情况的原因是
list
函数通过获取你传递的序列中的每个元素并将它们放入一个列表中来工作。Python中的字符串是一个序列,序列的元素是单个字符


拥有这个抽象的“序列”概念意味着许多Python函数可以处理多种数据类型,只要它们接受一个序列。一旦你习惯了这个想法,希望你会发现这个概念比惊奇更有用。

@lejlot:Yes:使用
list
将字符串转换为char…但在宴会上就不是这样了。是吗?@lejlot:Yes:使用
list
将字符串转换为字符……但在宴会上情况并非如此。是吗?
列表(a)
不是
[a]
。请注意,
list(1)
不会创建包含单个元素的列表。
list(a)
不是
[a]
。请注意,
list(1)
不会创建包含单个元素的列表。