a = string.split("Test Test2 Test3"," ")
这会返回错误:
Message File Name Line Position
Traceback
<module> C:\pyWiz.py 43
AttributeError: 'module' object has no attribute 'split'
是的,我导入了字符串模块。 为什么会这样?
答案 0 :(得分:6)
使用:
a = 'Test Test2 Test3'.split(' ')
(即split
类型的str
方法)。 string.split
在2.x中已弃用,并在3.x中消失。
答案 1 :(得分:2)
string
时, str
是一个模块。我建议这样做:
a = "Test Test2 Test3".split()
答案 2 :(得分:1)
为什么不只是"Test Test2 Test3".split()
?
答案 3 :(得分:0)
a = "Test Test2 Test3".split(" ")
答案 4 :(得分:0)
>>> a = 'jetpack ferret pizza lawyer'.split()
>>> a
['jetpack', 'ferret', 'pizza', 'lawyer']
>>> b = 'jetpack ferret pizza lawyer'
>>> b.split()
['jetpack', 'ferret', 'pizza', 'lawyer']
>>> b
'jetpack ferret pizza lawyer'
>>> c = """very
looooooooooooooooooooooong string with trailing random whitespace """
>>> c = c.split()
>>> c
['very', 'looooooooooooooooooooooong', 'string', 'with', 'trailing', 'random', 'whitespace']
>>> d = 'dog;_cat;_fish;_'.split(';_')
>>> d
['dog', 'cat', 'fish', '']
需要注意的是,大多数情况下您不需要指定分隔符(可以由多个字符组成)。
如果我们简化,则不给split函数提供任何参数可以摆脱所有空格(即空格,制表符,换行符,返回),这是处理来自文件,shell等的输入的首选行为,特别是在这个习语的最常见用途中:硬编码字符串列表,节省了一些令人讨厌的逗号和引号输入。
另请注意,如果符合以下条件,您的列表中会出现空字符串:
输入字符串以您定义为分隔符的一个或多个字符结束或开始(请参阅我的上一个示例)
您想要获得的字符组之间有多个分隔符