1. 程式人生 > >《笨辦法學python》習題25——筆記

《笨辦法學python》習題25——筆記

原文習題

def break_words(stuff):
	"""This function will break up words for us """
	words = stuff.split(' ')
	return words

def sort_words(words):
	"""Sorts the words."""
	#排序
	return sorted(words)

def print_first_word(words):
	"""Prints the first word after popping it off."""
	word = words.pop(0)
	print(word)

def print_last_word(words):
	"""Prints the last word after popping it off."""
	word = words.pop(-1)
	print(word)

def sort_sentence(sentence):
	"""Takes in a full sentence and returns the sorted words."""
	words = break_words(sentence)
	return sort_words(words)

def print_first_and_last(sentence):
	"""Prints the first and last words of the sentense."""
	words = break_words(sentence)
	print_first_word(words)
	print_last_word(words)

def print_first_and_last_sorted(sentence):
	"""Sorts the words then prints the first and last one."""
	words = sort_sentence(sentence)
	print_first_word(words)
	print_last_word(words)

筆記: split() 通過指定分隔符對字串進行切片,如果引數 num 有指定值,則僅分隔 num 個子字串

str.split(str="", num=string.count(str)).

str – 分隔符,預設為所有的空字元,包括空格、換行(\n)、製表符(\t)等。 num – 分割次數。 例如: 1.

str = "Line1-abcdef \nLine2-abc \nLine4-abcd";
print (str.split(' ', 1 )

結果:

 python ex0.py
['Line1-abcdef', '\nLine2-abc \nLine4-abcd']
 str = "Line1-abcdef \nLine2-abc \nLine4-abcd";
    print (str.split(' ', 2 )

結果:

 python ex0.py
['Line1-abcdef', '\nLine2-abc', '\nLine4-abcd']

pop() 函式用於移除列表中的一個元素(預設最後一個元素),並且返回該元素的值。 sorted() 函式對所有可迭代的物件進行排序操作。

>>>a = [5,7,6,3,4,1,2]
>>> b = sorted(a)       # 保留原列表
>>> a 
[5, 7, 6, 3, 4, 1, 2]
>>> b
[1, 2, 3, 4, 5, 6, 7]