【《Python编程: 从入门到实践》习题答案--第三章:<list 列表简介>】

本文通过《Python编程:从入门到实践》第三章的习题解答,详细展示了如何使用Python列表进行基本操作,包括添加、修改、删除元素,以及排序等。示例包括邀请嘉宾名单的管理,旅游目的地的排序等,帮助读者巩固列表知识。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

# 3-1 姓名: 将一些朋友的姓名存储在一个列表中, 并将其命名为names 。 
# 依次访问该列表中的每个元素, 从而将每个朋友的姓名都打印出来。
names = ['张三','李四','王五']
print(names[0])
print(names[1])
print(names[2])


# 3-2 问候语: 继续使用练习3-1中的列表, 但不打印每个朋友的姓名, 而为每人打印一条消息。 
# 每条消息都包含相同的问候语, 但抬头为相应朋友的姓名。
names = ['张三','李四','王五']
print(names[0] + ',你好!')
print(names[1] + ',你好!')
print(names[2] + ',你好!')



# 3-3 自己的列表: 想想你喜欢的通勤方式, 如骑摩托车或开汽车, 并创建一个包含多种通勤方式的列表。 根
# 据该列表打印一系列有关这些通勤方式的宣言, 如“I wouldlike to own a Honda motorcycle”。
travel_mode = ['小汽车','摩托车','自行车']
print('我想拥有一辆:' + travel_mode[0])
print('我想拥有一辆:' + travel_mode[1])
print('我想拥有一辆:' + travel_mode[2])

# 3-4 嘉宾名单 : 如果你可以邀请任何人一起共进晚餐(无论是在世的还是故去的),你会邀请哪些人? 
# 请创建一个列表, 其中包含至少3个你想邀请的人; 然后, 使用这个列表打印消息, 邀请这些人来与你共进晚餐。
inv_list = ['马云','马化腾','李彦宏']
for inv_name in inv_list:
	print('尊敬的:' + inv_name + '(先生/女士),诚挚的邀请您参加今晚的宴会!')

# 3-5 修改嘉宾名单 : 你刚得知有位嘉宾无法赴约, 因此需要另外邀请一位嘉宾。
# 以完成练习3-4时编写的程序为基础, 在程序末尾添加一条print 语句, 指出哪位嘉宾无法赴约。
# 修改嘉宾名单, 将无法赴约的嘉宾的姓名替换为新邀请的嘉宾的姓名。
# 再次打印一系列消息, 向名单中的每
### 切片操作示例 在 Python 编程中,切片是一种非常强大的功能,可以用于访问列表、字符串等序列类型的部分元素。以下是一个基于《Python编程:从入门实践(第3版)》中的练习题所设计的示例程序,展示如何使用切片操作来获取列表的前三个元素、中间三个元素以及末尾三个元素。 ```python # 示例列表 my_list = [10, 20, 30, 40, 50, 60, 70] # 获取前三个元素 first_three = my_list[:3] print("前三个元素:", first_three) # 输出:前三个元素: [10, 20, 30] # 获取中间三个元素 middle_index = len(my_list) // 2 middle_three = my_list[middle_index - 1 : middle_index + 2] print("中间三个元素:", middle_three) # 输出:中间三个元素: [30, 40, 50] # 获取末尾三个元素 last_three = my_list[-3:] print("末尾三个元素:", last_three) # 输出:末尾三个元素: [50, 60, 70] ``` 上述代码展示了如何通过切片操作提取列表的不同部分。对于长度为奇数的列表,`middle_index` 是中心元素的索引,然后通过 `middle_index - 1` 到 `middle_index + 2` 的范围来获取中间三个元素[^1]。 ### 使用切片跳过某些元素 如果希望在切片时跳过某些元素,可以通过指定步长参数实现。例如,要每隔一个元素取一个值,可以使用如下方式: ```python # 每隔一个元素取一个值 every_other = my_list[::2] print("每隔一个元素:", every_other) # 输出:每隔一个元素: [10, 30, 50, 70] ``` 此代码片段中,`[::2]` 表示从头到尾以步长为 2 进行切片,即跳过了每两个元素中的第一个元素[^1]。 ### 反转列表 若需要反转列表,同样可以利用切片操作中的步长参数,将其设置为负数即可实现反向遍历: ```python # 反转列表 reversed_list = my_list[::-1] print("反转后的列表:", reversed_list) # 输出:反转后的列表: [70, 60, 50, 40, 30, 20, 10] ``` 这里的 `[::-1]` 表示从最后一个元素开始向前遍历,每次移动一个位置,从而达到反转列表的效果[^1]。 ### 多维数组的切片操作 虽然标准的 Python 列表不支持多维结构,但 NumPy 库提供了对多维数组的支持,并且也允许使用类似的切片语法进行操作。例如,在 NumPy 中可以这样处理二维数组: ```python import numpy as np # 创建一个二维数组 matrix = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) # 获取第一行和第二行的所有列 sub_matrix = matrix[0:2, :] print("子矩阵:\n", sub_matrix) # 输出: # 子矩阵: # [[1 2 3] # [4 5 6]] ``` 此例中,`matrix[0:2, :]` 表示选取索引从 0 到 1(不含 2)的行,以及所有列的数据,这正是 NumPy 提供的强大功能之一[^1]。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值