哈希编程Python入门挑战45题
要求:编写一个程序:反转一个给定的列表。
-
创建列表
my_list
并将[1, 2, 3, 4]
分配给它。 -
创建一个新的列表,并将
my_list
的元素反转后添加到新列表中。 -
输出新列表
思路1:反转也就是给他倒着输出,想到了切片,从后往前
切片操作的基本语法是 [start:stop:step]
,其中:
-
start
表示起始索引(包含该索引对应的元素,默认是列表开头,可省略)。 -
stop
表示结束索引(不包含该索引对应的元素,默认是列表末尾,可省略)。 -
step
表示步长,即每次取值的间隔,默认是1
,可以为负数用于反向取值。
反转列表正确的写法应该是 [::-1]
,这里省略了 start
和 stop
,表示从头到尾(也就是整个列表范围),步长设为 -1
就可以实现从后往前逐个取元素,达到反转列表的效果。
# 创建列表
my_list = [1, 2, 3, 4]
# 反转列表 并打印新列表
new=my_list[-1:-5:-1]
print(new)
思路2:通过循环将原列表元素倒序添加到新列表中:
# 创建列表
my_list = [1, 2, 3, 4]
# 创建新列表用于存储反转后的元素
new = []
# 通过循环倒序添加元素实现反转
for element in my_list[::-1]:
new.append(element)
print(new)
思路3:利用reverse方法
不足:该方法会直接修改原列表本身,如果不想改变原列表,还是推荐使用切片操作等方式得到新的反转列表
# 创建列表
my_list = [1, 2, 3, 4]
# 直接使用reverse方法反转原列表
my_list.reverse()
print(my_list)