练习25--更多更多练习

一 相关知识

1 split()方法

  • 描述:Python split() 通过指定分隔符对字符串进行切片,如果参数 num 有指定值,则分隔 num+1 个子字符串
  • 语法:
    str.split(str="", num=string.count(str))
  • 参数说明
    • str -- 分隔符,默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等。
    • num -- 分割次数。默认为 -1, 即分隔所有。
  • 返回值:返回分割后的字符串列表。

2 sorted()函数

  • 描述:sorted() 函数对所有可迭代的对象进行排序操作。
  • 语法:

    sorted(iterable, cmp=None, key=None, reverse=False)
  • 参数说明
    • iterable -- 可迭代对象。
    • cmp -- 比较的函数,它具有两个参数,参数的值都是从可迭代对象中取出,此函数必须遵守的规则为,大于则返回1,小于则返回-1,等于则返回0。
    • key -- 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。
    • reverse -- 排序规则,reverse = True 降序 , reverse = False 升序(默认)。
  • 返回值:返回重新排序的列表。
  • 和sort()函数的区别:
    • sort 是应用在 list 上的方法,sorted 可以对所有可迭代的对象进行排序操作。
    • list 的 sort 方法返回的是对已经存在的列表进行操作,无返回值,而内建函数 sorted 方法返回的是一个新的 list,而不是在原来的基础上进行的操作。

3 pop()函数

(1)列表:

  • 描述:用于移除列表中的一个元素(默认最后一个元素),并且返回该元素的值。
  • 语法:
    list.pop(obj=list[-1])
  • 参数说明:obj – 可选参数,要移除列表元素的索引值,不能超过列表总长度,默认为 index=-1,删除最后一个列表值。
  • 返回值:该方法返回从列表中移除的元素对象。

(2)字典

  • 描述:Python 字典 pop() 方法删除字典给定键 key 及对应的值,返回值为被删除的值。key 值必须给出。 否则,返回 default 值。
  • 语法:
    pop(key[,default])
  • 参数说明:
    • key: 要删除的键值
    • default: 如果没有 key,返回 default 值
  • 返回值:返回被删除的值。

二 代码及执行结果

1 代码:ex25.py文件

 1 def break_words(stuff):
 2     """This function will break up words for us."""
 3     words = stuff.split(' ')              # 调用split函数利用空格将变量stuf分片,并返回分片后的字符串列表
 4     return words
 5 
 6 def sort_words(words):
 7     """Sorts the words."""
 8     return sorted(words)                  # 对所有可迭代对象进行排序操作,并返回一个新的排序后的列表
 9 
10 def print_first_word(words):
11     """Prints the first word after popping it off."""
12     word = words.pop(0)                   # 删除列表第一个元素,并将其返回值赋给变量word
13     print(word)
14 
15 def print_last_word(words):
16     """Print the last word after popping it off."""
17     word = words.pop(-1)                  # 删除列表最后一个元素,并将其返回值赋给变量word
18     print(word)
19 
20 def sort_sentence(sentence):
21     """Takes in a full sentence and returns the sorted words."""
22     words = break_words(sentence)         # 调用我们定义的break_words函数将sentences长字符串分片后返回相应列表,并将该列表赋值给变量words
23     return sort_words(words)              # 调用sort_words给得到的列表排序,并作为函数返回值传出
24 
25 def print_first_and_last(sentence):
26     """Print the first and last words of the sentence."""
27     words = break_words(sentence) 
28     print_first_word(words)               # 调用print_first_word函数打印句子sentences的第一个单词
29     print_last_word(words)                # 调用print_last_word函数打印句子sentences的最后一个单词
30 
31 def print_first_and_last_sorted(sentence):
32     """Sorts the words then prints the first and last one."""
33     words = sort_sentence(sentence)
34     print_first_word(words)               # 打印排序后得到列表的第一个单词
35     print_last_word(words)                # 打印排序后得到列表的最后一个单词

2 执行结果

PS E:\3_work\4_python\2_code_python\02_LearnPythonTheHardWay> python
Python 3.8.3 (tags/v3.8.3:6f8c832, May 13 2020, 22:37:02) [MSC v.1924 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import ex25
>>> sentence = "All good things come to those who wait."
>>> words = ex25.break_words(sentence)
>>> words
['All', 'good', 'things', 'come', 'to', 'those', 'who', 'wait.']
>>> sorted_words = ex25.sort_words(words)
>>> sorted_words
['All', 'come', 'good', 'things', 'those', 'to', 'wait.', 'who']
>>> ex25.print_first_word(words)
All
>>> ex25.print_last_word(words)
wait.
>>> words
['good', 'things', 'come', 'to', 'those', 'who']
>>> ex25.print_first_word(sorted_words)
All
>>> ex25.print_last_word(sorted_words)
who
>>> sorted_words
['come', 'good', 'things', 'those', 'to', 'wait.']
>>> sorted_words = ex25.sort_sentence(sentence)
>>> sorted_words
['All', 'come', 'good', 'things', 'those', 'to', 'wait.', 'who']
>>> ex25.print_first_and_last(sentence)
All
wait.
>>> ex25.print_first_and_last_sorted(sentence)
All
who
>>> help(ex25)
Help on module ex25:

NAME
    ex25

FUNCTIONS
    break_words(stuff)
        This function will break up words for us.

    print_first_and_last(sentence)
        Print the first and last words of the sentence.

    print_first_and_last_sorted(sentence)
        Sorts the words then prints the first and last one.

    print_first_word(words)
        Prints the first word after popping it off.

    print_last_word(words)
        Print the last word after popping it off.

    sort_sentence(sentence)
        Takes in a full sentence and returns the sorted words.

    sort_words(words)
        Sorts the words.

FILE
    e:\3_work\4_python\2_code_python\02_learnpythonthehardway\ex25.py


>>> help(ex25.break_words)
Help on function break_words in module ex25:

break_words(stuff)
    This function will break up words for us.

>>>

注意:help(ex25)和help(ex25.break_words)是用来查看程序的帮助文档的,它会把程序中三引号引起来的内容——即文档字符串的内容打印出来形成一个新的说明文档,具体可见我写的另外一个博客:https://www.cnblogs.com/luoxun/p/13193285.html,主要写用pydoc命令查看程序的说明性文档的方法。

posted @ 2020-07-09 22:28  洛兰123  阅读(176)  评论(0编辑  收藏  举报