2020.3.11---Python作业记录

题目:
1.编写生成包含20个随机数的列表,然后将前10个元素升序排列,后十个元素降序排列,并输出结果。

思路:生成这样的列表→把前十个元素切片出来升序排列→把后十个元素切片出来降序排列。

代码:

import random

list = []
for i in range(1,21):
    t=random.randint(1,20)
    list.append(t)
print("原列表:",list)
alist = list[0:10]
alist.sort()
blist=list[10:20]
blist.sort(reverse = True)
alist.extend(blist)
print("排序后列表:",alist)

2020.3.11---Python作业记录
涉及知识点:
①random模块,range()函数,append()函数,切片
见上一篇文章

②sort()函数
语法: list.sort( key=None, reverse=False)
• reverse = True 降序, reverse = False 升序(默认)
注意!True和False只有第一个字母大写

•该方法没有返回值,但是会对列表的对象进行排序,不能用来赋值

③extend()函数
•用于在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
•没有返回值

2.使用列表推导式得出:0—30间能被3整除的数

代码:
2020.3.11---Python作业记录
2020.3.11---Python作业记录

涉及知识点:
• 列表推导式
使用非常简洁的方式来快速生成满足特定需求的列表。

举个例子吧 ↓
2020.3.11---Python作业记录

也可使用多个循环,实现多序列元素的任意组合,并且可以结合条件语句过滤特定元素,如下面的例子:
2020.3.11---Python作业记录

上一篇:数据结构与算法(二):寻找峰值


下一篇:经典排序算法-附python代码