当前位置:   article > 正文

Python语言程序设计基础 第二版(嵩天著)课后答案第六章_6-4 文本字符分析。编写程序接收字符串,按降序输出字符出现的频率。

6-4 文本字符分析。编写程序接收字符串,按降序输出字符出现的频率。

思考与练习:
P159

6.1 元组是不可变的。即你不能修改元组。元组通过圆括号中用逗号将元素分隔。 集合内的元素不能重复,只能是固定的数据类型,例如:整数、浮点数、字符串、元组等,列表,字典,和集合本身是可变数据类型,不能作为集合的元素出现。

元组和集合的相互转换:元组→集合:set(X),例:

t = ('a','p','p','l','e')
t = set(t)   #转换成集合
print(t)
#运行结果:
#{'l', 'p', 'e', 'a'}
  • 1
  • 2
  • 3
  • 4
  • 5

集合→元组:tuple(X),例:

t = {'l', 'p', 'e', 'a'}
t = tuple(t)  #转换成元组
print(t)
#运行结果:
#('l', 'a', 'p', 'e')
  • 1
  • 2
  • 3
  • 4
  • 5

6.2

S1 = {1,3,5,6}
S2 = {2,5,6}
print(S1|S2 )   # {1, 2, 3, 5, 6}
print(S1&S2)    # {5, 6}
print(S1^S2)    # {1, 2, 3}
print(S1-S2)    # {1, 3}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

6.3 不知道 不会写,等有答案再来更

关于组合型数据类型的函数在一章中已经总结过了,这里就不再重复解释

P162
6.4

S1 = [1,3,2,4,6,5]
S1 = sorted(S1)   #升序
print(S1)
S1 = sorted(S1,reverse=True)   #降序
print(S1)
# sorted(iterable, cmp=None, key=None, reverse=False) 函数对所有可迭代的对象进行排序操作。
# iterable -- 可迭代对象。
# cmp -- 比较的函数,这个具有两个参数,参数的值都是从可迭代对象中取出,此函数必须遵守的规则为,大于则返回1,小于则返回-1,等于则返回0。
# key -- 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。
# reverse -- 排序规则,reverse = True 降序 , reverse = False 升序(默认)。


#当然可以用sort(),他们两个的区别是,sort(),是将原来的列表正序排序,所以它是对原来的列表进行的操作,不会产生一个新列表,(sort 方法返回的是对已经存在的列表进行操作,无返回值)具体使用如下:
S1 = [1,3,2,4,6,5]
S1.sort()
print(S1)
S1.sort(reverse=True)
print(S1)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18

运行结果:
在这里插入图片描述
6.5

import operator #使用内置比较函数需要引入operator模块,如果是python2则可以直接使用cmp
ls1 = [30,1,2,0]
ls2 = [1,21,133]
print(operator.lt(ls1,ls2))#若ls1<ls2,则返回True,否则返回Flase
#运行结果:
#False

# operator 其他内置函数:
# operator.lt(a, b)    lt(a,b) 相当于 a<b     从第一个数字或字母(ASCII)比大小,若a<b,则返回True,否则返回Flase
# operator.le(a, b)    le(a,b)相当于a<=b
# operator.eq(a, b)    eq(a,b)相当于a==b     字母完全一样,返回True,
# operator.ne(a, b)    ne(a,b)相当于a!=b
# operator.ge(a, b)    ge(a,b)相当于 a>=b
# operator.gt(a, b)    gt(a,b)相当于a>b
# operator.__lt__(a, b)
# operator.__le__(a, b)
# operator.__eq__(a, b)
# operator.__ne__(a, b)
# operator.__ge__(a, b)
# operator.__gt__(a, b)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20

6.6

ls1 = [1,43]
ls2 = ls1
ls1[0] = 22  #ls1列表更新直接使ls2列表更新
print(ls1,ls2)
#运行结果:
#[22, 43] [22, 43]
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

6.7

ls = [[2,3,7],[[3,5],25],[0,9]]#[2,3,7],[[3,5],25],[0,9],以逗号间隔为一个
print(len(ls))
#运行结果:
#3
  • 1
  • 2
  • 3
  • 4

P165
6.8
20行代码改为:new = sorted(numbers,reverse=True)

from math import sqrt
def getNum():
    nums = []
    iNumStr =
  • 1
  • 2
  • 3
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Guff_9hys/article/detail/833468
推荐阅读
相关标签
  

闽ICP备14008679号