《Python编程:从入门到实践》第三章3.3节课后作业

本文代码是在jupyter中实现的,仅为了自我督促学习python之用。

3-8 放眼世界:想出至少 5个你渴望去旅游的地方。
 将这些地方存储在一个列表中,并确保其中的元素不是按字母顺序排列的。
 按原始排列顺序打印该列表。不要考虑输出是否整洁的问题,只管打印原始Python列表。
 使用 sorted() 按字母顺序打印这个列表,同时不要修改它。
 再次打印该列表,核实排列顺序未变。
 使用 sorted() 按与字母顺序相反的顺序打印这个列表,同时不要修改它。
 再次打印该列表,核实排列顺序未变。
 使用 reverse() 修改列表元素的排列顺序。打印该列表,核实排列顺序确实变了。
 使用 reverse() 再次修改列表元素的排列顺序。打印该列表,核实已恢复到原来的排列顺序。
 使用 sort() 修改该列表,使其元素按字母顺序排列。打印该列表,核实排列顺序确实变了。
 使用 sort() 修改该列表,使其元素按与字母顺序相反的顺序排列。打印该列表,核实排列顺序确实变了。

代码:

cities = ['Istanbul', 'Beijing', 'Tokyo', 'Melbourne', 'Paris']
print(cities)

print(sorted(cities)) # sorted()能够按特定的顺序显示列表信息,但是不会影响它们在列表中的原始顺序.
print(cities)

print(sorted(cities, reverse=True)) # 按与字母顺序相反的顺序打印列表
print(cities)

cities.reverse() # 用reverse()反转原列表元素的排列顺序
print(cities)

cities.reverse() # 用reverse()再次反转列表元素的排列顺序,恢复到原列表元素的排列顺序
print(cities)

cities.sort() # 用sort()按与字母顺序排列原列表里元素的顺序
print(cities)

cities.sort(reverse=True) # 用sort()按与字母顺序相反排列列表里元素的顺序
print(cities)

运行结果:

['Istanbul', 'Beijing', 'Tokyo', 'Melbourne', 'Paris']
['Beijing', 'Istanbul', 'Melbourne', 'Paris', 'Tokyo']
['Istanbul', 'Beijing', 'Tokyo', 'Melbourne', 'Paris']
['Tokyo', 'Paris', 'Melbourne', 'Istanbul', 'Beijing']
['Istanbul', 'Beijing', 'Tokyo', 'Melbourne', 'Paris']
['Paris', 'Melbourne', 'Tokyo', 'Beijing', 'Istanbul']
['Istanbul', 'Beijing', 'Tokyo', 'Melbourne', 'Paris']
['Beijing', 'Istanbul', 'Melbourne', 'Paris', 'Tokyo']
['Tokyo', 'Paris', 'Melbourne', 'Istanbul', 'Beijing']

3-9 晚餐嘉宾:在完成练习 3-4~练习 3-7 时编写的程序之一中,使用 len() 打印一条消息,指出你邀请了多少位嘉宾来与你共进晚餐。

代码:

names = ['Jenny', 'Tom', 'Rayne', 'Li Ming', 'Christian', 'Blair', 'Jam']
len(names)

运行结果:

7

3-10 尝试使用各个函数:想想可存储到列表中的东西,如山岳、河流、国家、城市、语言或你喜欢的任何东西。编写一个程序,在其中创建一个包含这些元素的列表,然后,对于本章介绍的每个函数,都至少使用一次来处理这个列表。

代码:

Tier_1_cities = ['北京', '上海', '广州', '深圳']
print(Tier_1_cities[0] + "是中国的首都,是中国的政治文化中心。")

New_first_tier_cities = ['成都', '重庆', '扬州', '武汉', '西安', '天津', '苏州', '南京', '郑州', '长沙', '东莞', '沈阳', '青岛']
number_1 = len(New_first_tier_cities)
print(number_1)
print("中国的新一线城市有15个,列表中少了合肥和佛山;另外,扬州不是新一线城市,应该是杭州。")
New_first_tier_cities[2] = '杭州'
print(New_first_tier_cities)

New_first_tier_cities.append('佛山') # 将佛山添加在列表倒数第一的位置
print(New_first_tier_cities)

New_first_tier_cities.insert(13,'合肥') # 将合肥添加在索引为13的位置
number_2 = len(New_first_tier_cities)
print(number_2)
print(New_first_tier_cities) # 打印添加元素后的列表

print(sorted(New_first_tier_cities)) # 打印临时改变元素顺序后的列表
print(New_first_tier_cities) # 打印原列表

New_first_tier_cities.reverse()
print(New_first_tier_cities) # 打印反转后的列表元素

运行结果:

北京是中国的首都,是中国的政治文化中心。
13
中国的新一线城市有15个,列表中少了合肥和佛山;另外,扬州不是新一线城市,应该是杭州。
['成都', '重庆', '杭州', '武汉', '西安', '天津', '苏州', '南京', '郑州', '长沙', '东莞', '沈阳', '青岛']
['成都', '重庆', '杭州', '武汉', '西安', '天津', '苏州', '南京', '郑州', '长沙', '东莞', '沈阳', '青岛', '佛山']
15
['成都', '重庆', '杭州', '武汉', '西安', '天津', '苏州', '南京', '郑州', '长沙', '东莞', '沈阳', '青岛', '合肥', '佛山']
['东莞', '佛山', '南京', '合肥', '天津', '成都', '杭州', '武汉', '沈阳', '苏州', '西安', '郑州', '重庆', '长沙', '青岛']
['成都', '重庆', '杭州', '武汉', '西安', '天津', '苏州', '南京', '郑州', '长沙', '东莞', '沈阳', '青岛', '合肥', '佛山']
['佛山', '合肥', '青岛', '沈阳', '东莞', '长沙', '郑州', '南京', '苏州', '天津', '西安', '武汉', '杭州', '重庆', '成都']

sort 与 sorted 区别:
sort 是应用在 list 上的方法,属于列表的成员方法,sorted 可以对所有可迭代的对象进行排序操作。
list 的 sort 方法返回的是对已经存在的列表进行操作,而内建函数 sorted 方法返回的是一个新的 list,而不是在原来的基础上进行的操作。
sort使用方法为ls.sort(),而sorted使用方法为sorted(ls)

该段总结来自:

https://blog.csdn.net/u013759354/article/details/80243705?utm_medium=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.channel_param&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.channel_param

代码:

number = [1, 9, 4, 7, 3, 2, 4, 8]
number.sort()
print(number)
number.sort(reverse = True)
print(number)

运行结果:

[1, 2, 3, 4, 4, 7, 8, 9]
[9, 8, 7, 4, 4, 3, 2, 1]

代码:

number = [1, 9, 4, 7, 3, 2, 4, 8]
print(sorted(number))
print(sorted(number, reverse = True))
print(number)

运行结果:

[1, 2, 3, 4, 4, 7, 8, 9]
[9, 8, 7, 4, 4, 3, 2, 1]
[1, 9, 4, 7, 3, 2, 4, 8]
  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值