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

Python列表函数

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

Python列表函数

文章目录
  • 1. 列表运算
    • 1.1列表重复
    • 1.2列表相加
    • 1.3 成员运算
    • 1.4 比较大小
  • 2. 列表函数
    • 2.1 max min
    • 2.2 count
    • 2.3 reverse
    • 2.4 sort
    • 2.5 extend
    • 2.6 index
  • 3. 列表推导式
  • 4. 随机模块

1. 列表运算

在列表中可进行与字符串类似的加法(+)和乘法(*)运算。

1.1列表重复

将列表中的元素重复N次,产生一个新的列表。

list1 = [1, 2, 3, 4]
print(list1 * 3)
# [1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4]
1.2列表相加

将两个列表中的元素合并在一起产生一个新的列表。

list1 = [1, 2, 3, 4]
list2 = [4, 5, 6, 7]
print(list1 + list2)
# [1, 2, 3, 4, 4, 5, 6, 7]
1.3 成员运算

in、not in判断列表中是否存在指定的元素,结果是布尔值。

print(3 in [1, 3, 4])
print([3] in [1, 3, 4])
print([3] in [1, 2, 3, [3]])
# 
True
False
True
1.4 比较大小

比较大小的元素必须是同类型的,比较的是第一对不相等元素的大小。

list1 = [1, 2, 3, 4]
list2 = [1, 2, 4, 5]
print(list1 

练习:有两个列表A和B,使用列表C来获取两个列表中公共的元素。

A = [1, 'a', 4, 90]
B = ['a', 8, 'j', 1]
c = []
for i in A:
    if i in B:
        c.append(i)
print(c)
# [1, 'a']
2. 列表函数 2.1 max min

min和max函数获取同类型数据中最大或者最小值。

num = [1, 2, 3, 4]
print(max(num))
print(min(num))
# 4
# 1
2.2 count

统计某个元素出现个数。

num = [1, 2, 3, 4]
print(num.count(4))
# 1 
2.3 reverse

对当前列表顺序进行反转。 将列表倒序 返回值为none。直接修改列表本身。

print(num.reverse())
print(num)
print(num[::-1])
# None
# [4, 3, 2, 1]
# [1, 2, 3, 4]
2.4 sort

将列表从小到大排序。

num1 = [23, 78, 0, 90]
print(sorted(num1))
# [0, 23, 78, 90]
2.5 extend

将一个容器中的元素添加到列表中。

num1 = [23, 78, 0, 90]
num1.extend('abcdea')
num1.extend([1, 2, 3])
print(num1)
# [23, 78, 0, 90, 'a', 'b', 'c', 'd', 'e', 'a', 1, 2, 3]
2.6 index

从左向右查找元素,返回下标。

num1 = [90, 78, 23, 0, 'a', 'b', 'c', 'd', 'e', 'a', 1, 2, 3]
index1 = num1.index('a', 5)
print(index1)
# 9

练习:不使用index(),查找第二个a的下标。

num1 = [90, 78, 23, 0, 'a', 'b', 'c', 'd', 'e', 'a', 1, 2, 3]
a_count = 0
for i in range(len(num1)):
    if num1[i] == 'a':
        a_count += 1
        if a_count == 2:
            print(i)
# 9

练习:要求去掉重复的人名

names = ['张三', '李四', '大黄', '张三','张三']
names_list =[]
for i in names:
    if i not in names_list:
        names_list.append(i)
print(names_list)
# ['张三', '李四', '大黄']
3. 列表推导式

列表推导式可以快速生成一个列表,或者根据某个列表生成满足指定需求的列表。有3种语法。
语法1:[表达式 for 变量 in 容器]

num = [i for i in range(1, 10)]
print(num)
# [1, 2, 3, 4, 5, 6, 7, 8, 9]

num_2 = [1 for _ in range(10)]
print(num_2)
# [1, 1, 1, 1, 1, 1, 1, 1, 1, 1]

语法2:[表达式 for 变量 in 容器 if 条件]

list3 = [i for i in range(1, 101) if i % 2 == 0]
print(list3)
# [2, 4, 6, 8]

语法3:[表示式 for 变量 in 容器 for 变量 in 容器]

list4 = [i for _ in range(2) for i in range(1, 4)]
print(list4)
# [1, 2, 3, 1, 2, 3]

练习:孪生数:两个素数的差等于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]}是孪生数')
3和5是孪生数
5和7是孪生数
11和13是孪生数
17和19是孪生数
29和31是孪生数
41和43是孪生数
59和61是孪生数
71和73是孪生数
4. 随机模块

1.random返回0<=n<1之间的随机实数n。
2.randint(a,b) 从区间中随机获取一个整数。
3.randrange 约等于randint + range。
4.choice 从容器中随机获取一个元素。
5.sample 从有序容器中无放回的抽取K个元素。
6.shffule 将有序容器随机打乱顺序,无返回值,修改序列本身。

import random
list1 = [1, 2, 3, 4]
print(random.shuffle(list1))
print(list1)
# None
[4, 2, 3, 1]

练习:课堂点名器

names = ['付永康', '廖宇', '罗梦佳', '夏博琳']
random.shuffle(names)
#设置内幕
while True:
    result = random.sample(names, k=1)
    if result == ['付永康']:
        break
print(f'被抽中的同学为:{result}')
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/994526.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

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

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