1. 程式人生 > 其它 >Python程式碼閱讀(第25篇):將多行字串拆分成列表

Python程式碼閱讀(第25篇):將多行字串拆分成列表

本篇閱讀的程式碼將多行字串拆分成列表,各行字串為列表元素。 本篇閱讀的程式碼片段來自於30-seconds-of-python。

Python 程式碼閱讀合集介紹:為什麼不推薦Python初學者直接看專案原始碼

本篇閱讀的程式碼將多行字串拆分成列表,各行字串為列表元素。

本篇閱讀的程式碼片段來自於30-seconds-of-python

split_lines

def split_lines(s):
  return s.split('\n')

# EXAMPLES
split_lines('This\nis a\nmultiline\nstring.\n') # ['This', 'is a', 'multiline', 'string.' , '']

split_lines函式接收一個字串,並將該字串以換行符號(\n

)作為分隔符,分割成一個列表。函式直接使用了str.split函式進行字串處理。之前的幾篇文章裡面的程式碼使用了不傳入引數的,按空白字串分割的特殊用法,這次程式碼中指定了按照換行符進行分割。

str.split(sep=None, maxsplit=-1)

返回一個由字串內單片語成的列表,使用sep作為分隔字串。 如果給出了maxsplit,則最多進行maxsplit次拆分(因此,列表最多會有maxsplit+1個元素)。 如果maxsplit未指定或為-1,則不限制拆分次數(進行所有可能的拆分)。

如果sep未指定或為None,則會應用另一種拆分演算法:連續的空格會被視為單個分隔符,開頭和結尾如果包含空格的話,將不會拆分出空字串。 因此,使用None

拆分空字串或僅包含空格的字串將返回 []

>>> '1 2 3'.split()
['1', '2', '3']
>>> '1 2 3'.split(maxsplit=1)
['1', '2 3']
>>> '   1   2   3   '.split()
['1', '2', '3']