簡體   English   中英

string.split錯誤? 蟒蛇

[英]string.split error? python

a = string.split("Test Test2 Test3"," ")

這將返回錯誤:

Message File Name   Line    Position    
Traceback               
    <module>    C:\pyWiz.py 43      
AttributeError: 'module' object has no attribute 'split'                

是的,我導入了字符串模塊。 為什么會這樣呢?

采用:

a = 'Test Test2 Test3'.split(' ')

(即str類型的split方法)。 在2.x中不推薦使用string.split ,而在3.x中使用。

在尋找類/類型對象str string是一個模塊。 我建議盡管這樣做:

a = "Test Test2 Test3".split()

為什么不只是"Test Test2 Test3".split()

a = "Test Test2 Test3".split(" ")
>>> 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等的輸入配合使用的首選行為,尤其是在這個習慣用法最常見的用法是:對字符串列表進行硬編碼,以節省一些煩人的逗號和引號輸入。

另請注意,如果發生以下情況,您將在列表中得到空字符串:

  • 輸入字符串以您定義為分隔符的一個或多個字符結尾或開頭(請參見我的上一個示例)

  • 您要獲得的一組字符之間有多個分隔符

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM