栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

5.列表的运算函数推导及其他

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

5.列表的运算函数推导及其他

一.列表的运算 1.列表的重复
list1 = [1,2,3,4]
print(list1*10)

2.列表的拼接
list2=[4,5,6,7]
print(list1+list2)
3.成员的运算

关键词:in、not in

结果是布尔值

print(3 in [1, 2, 3])
print([3] in [1, 2, 3])
4.比较大小
  • 比较大小的元素必须是同类型的

  • 比较大小比较的是第一对不相等元素的大小

  • 数字正常比较道大小

  list1 =[1,2,3,4]
  list2 =[1,2,3,5]
二.列表的方法和函数 1.max、min 获取同类型数据中最大、最小值
um = [1, 2, 3, 4]
print(max(num))
print(min(num))
2.count 统计某个元素出现的个数
um = [1, 2, 3, 4]
print(num.count(5))
3.求和 sum
um = [1, 2, 3, 4]
print(sum(num))
4*.sorted、sort排序**
  • sorted:将列表从小到大排序,生成新列表
  • sorted:(# sorted(列表,reverse=False) -> 从小到大排序
  • sort;将列表从小到大排序,修改原列表.sort(reverse=False
  • 列表.sort(reverse=True)
5.exted()将容器中的元素添加倒列表中

num.extend(‘abcde’)

6.index查找元素
  • 从左到右查找,找到元素立即停止,返回下标
  • 查找不存在,报错

练习:查找a下标

num = [3, 2, 3, 4, 'a']
index3 = num.index('a')
print(index3)
num = [1, 2, 3, 4, 'a', 6, 'a']
a_cunt = 0
for i in range(len(num)):
    if num[i] == 'a':
        a_cunt = +1
        if a_cunt == 2:
            print(i)
            break

三.列表去重

有一个列表,去掉重复的人名

实例:names = [‘张三’, ‘李四’, ‘大黄’, ‘张三’,‘张三’]

names = ['张三', '李四', '大黄', '张三','张三']
new=[]
for i in names:
	if i not in names:
		new.append(i)
print(new)
四.列表推导式
  • 作用:生成一个有元素的列表
1.语法1

[表达式 for 变量 in 容器]

a.for循环每执行一次,表达式就会将其生成的结果添加到列表中

​ b.append()适用于所有向列表中追加元素的操作;
​ c.列表推导式在某些情况下可以替代append()
​ d. 性能:列表推导式 > append()

实例:

num = [i for i in range(1, 101)]
print(num)
num_2 = [1 for _ in range(10)]
print(num_2)
2.语法2

[表达式 for 变量 in 容器 if 条件]

for循环执行一次,if分支判断一次,条件成立时表达式执行。

实例:

list3 = [i for i in range(1, 101) if i % 2 == 0]
3.语法3

[表示式 for 变量 in 容器 for 变量 in 容器]

实例:

list4 = [i for _ in range(3) for i in range(1, 11)]
print(list4)

练习:孪生数:两个素数的差等于2。找出100以内所有的孪生数。

new_list = []
for i in range(2,101):
    if i == 2:
        print('2是素数')
        new_list.append(2)
    else:
        # 判断[2,x-1]中有没有能将x整除的元素
        for j in range(2, i):
            if i % j == 0:
                print(f'{i}不是素数')
                break
        else:
            print(f'{i}是素数')
            new_list.append(i)
print(new_list)
for x in range(len(new_list) - 1):
    if new_list[x + 1] - new_list[x] == 2:
        print(f'{new_list[x]}和{new_list[x + 1]}是孪生数')
五.随机模块(random)

俄罗斯轮盘、抽奖等。

1.randint(a,b) ,从[a,b]闭区间中随机获取一个整数

2.randrange() , 约等于randint + range

实例:

print(random.randrange(1, 4, 2))

3.choice() -> 从容器中随机获取一个元素

实例:

print(random.choice([1, 2, 3, 4]))

4,choices() -> 从容器中随机获取K个元素,有放回的抽取元素

实例:

print(random.choices([1, 2, 3, 4], k=5))

5.sample() -> 从有序容器中无放回的抽取K个元素

实例:

print(random.sampie([1,2,3,4],k=3))

6.shuffule()将有序容器随机打乱,无返回值

实例

list=[1,2,3,4]
print(dandom.shuffle(list1))
print(list1)

练习:课堂随机点名

names=['黄康',‘向钰’,'罗佳']
random.shuffle(names)
	result=random.sample(names,k=1)
	if result==['向钰']
		break
print(f'抽中的同学是:{result}')

使用PyQt/wxpython等GUI(图形可视化)进行可视化
使用pyinstall将程序封装成windows的exe可执行文件


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/993815.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号