day07列表相关操作和相关函数

​ day07列表相关操作和相关函数

列表相关操作

一 数学运算符 :+ 、 *

a 列表1+列表2 将两个列表合并成一个新的列表

b 列表N、N列表 将列表中元素重复N产生一个新的列表


# a. 列表1 + 列表2 
list1 = [10, 20, 30]
list2 = [100, 200]
result = list1 + list2
print(result)       # [10, 20, 30, 100, 200]

# b. 列表 * N、 N * 列表   
# [10, 20, 30] * 2  -> [10, 20, 30]  + [10, 20, 30] -> [10, 20, 30, 10, 20, 30]
print(list1 * 3)        # [10, 20, 30, 10, 20, 30, 10, 20, 30]

二 比较运算:>\<\>=<=


# a. 比较相等:==、!=
list1 = [10, 20, 30]
print(list1 == [10, 20, 30])        # True
print(list1 == [20, 10, 30])        # False

# b. 比较大小:>、<、>=、<=
# 两个列表比较大小,比较的是第一对不相等的元素的大小
list1 = [10, 20, 30]
list2 = [1, 1000, 30000, 40000]
print(list1 > list2)    # True

in 和 not in

元素 in 列表 判断指定列表中是否存在指定元素

元素 not in 列表 判断指定列表中是否不存在指定元素

print(10 in [10, 20, 30])       # True
print(100 not in [10, 20, 30])  # True
print([10, 20] in [10, 20, 30])     # False
print([10, 20] in [[10, 20], 30])   # True

三 相关函数(系统函数):sum 、max、min、len、sorted、list

sum(列表)  -  求列表中所有元素的和(列表必须是数字列表)
scores = [18, 90, 67, 8, 82]
print(sum(scores))

1+2+3+...+100
print(sum(range(1, 101)))

max(列表)/min(列表)  -  求列表中所有元素的最大值/最小值
scores = [18, 90, 67, 8, 82]
print(max(scores))
print(min(scores))

sorted

sorted(列表) 将列表中的元素从下到大排序,产生一个新的列表

sorted(列表,reverse=True) 将列表中胡元素从大到小排序,产生一个新的列表

scores = [18, 90, 67, 8, 82]
new_scores = sorted(scores)
print(new_scores)       # [8, 18, 67, 82, 90]

scores = [18, 90, 67, 8, 82]
new_scores = sorted(scores, reverse=True)
print(new_scores)       # [90, 82, 67, 18, 8]

list 将其他数据转换成列表

list(数据) 将指定数据转换成列表。(所有的序列都可以转换成列表;将其他序列转换成列表的时候直接将序列的元素作为列表的元素)

result = list('abc')
print(result)       # ['a', 'b', 'c']

result = list(range(5))
print(result)       # [0, 1, 2, 3, 4]

四 列表相关方法

1 clear

列表.clear() 清空列表

nums = [10, 89, 23, 5]
nums.clear()
print(nums)     # []

2 copy

列表.copy() 复制指定列表产生一个一样的新列表,将新的列表返回

nums = [10, 89, 23, 5]
nums2 = nums.copy()

3 count

列表.count(元素) 统计列表中指定元素的个数

nums = [23, 89, 78, 23, 10, 23, 9, 23, 10]
result = nums.count(23)
print(result)       # 4

4 extend

列表.extend(序列) 将序列中所有的元素都添加到列表中

list1 = [10, 20, 30]
list1.extend([100, 200])
print(list1)       # [10, 20, 30, 100, 200]

5 index

列表.index(元素) 获取元素在列表中对应下标;如果元素不存在会报错;如果有多个,只返回最前那个元素的下标

list1 = [12, 89, 7, 12, 65, 23, 89]
print(list1.index(12))   # 0
print(list1.index(65))   # 3
# print(list1.index(120))   # 报错! ValueError: 120 is not in list
print(list1.index(89))   # 1

6 reverse

列表.reverse() 倒序

list1 = [12, 89, 7, 12, 65, 23, 89]
list1.reverse()
print(list1)        # [89, 23, 65, 12, 7, 89, 12]

list1 = [12, 89, 7, 12, 65, 23, 89]
result = list1[::-1]
print(list1, result)    # [12, 89, 7, 12, 65, 23, 89] [89, 23, 65, 12, 7, 89, 12]

7 sort

列表.sort() 将列表元素从小到大排序

列表.sort(reverse=True) 将列表元素从大到小排序

list1 = [12, 89, 7, 12, 65, 23, 89]
list1.sort()
print(list1)        # [7, 12, 12, 23, 65, 89, 89]

五 列表推导式

列表推导式 创建列表的表达式,主要用于对元素进行变换和筛选

结构1:

[表达式 for 变量 in 序列]

原理:创建一个列表(让变量去序列中取值,一个一个地取,取一个值就计算一次表达式的结果并且将计算结果作为列表元素)

作用: 将原序列中的元素按照指定规则(表达式)进行统一变换得到一个列表

result = [x*2 for x in range(5)]
print(result)       # [0, 2, 4, 6, 8]

result = [x % 2 == 0 for x in range(5)]
# x=0  -> x % 2 == 0 -> 0 % 2 == 0  -> True

结构2

[表达式 for 变量 in 序列 if 条件语句]

原理:让变量去序列中取值,一个一个地取,取一个值就判断一次条件语句是否成立,如果成立才计算表达式的结果,并且将结果作为列表的元素

作用:提取序列中满足条件的元素

result = [x*10 for x in range(10, 30) if x % 2]
print(result)   # [110, 130, 150, ..., 290]

result = [x for x in range(10, 30) if x % 3 == 0]
print(result)       # [12, 15, 18,...,27]

六 认识元组

认识元组(tuple)

1是容器;将()作为容器胡标志里面多个元素用逗号隔开:(元素1,元素2,元素3,…)

不可变(不支持增删改);有序的

2空元组 t = ()

3 注意: 单个元素的元组:必须在唯一的元素后加逗号

t2 = (20,)
print(t2, type(t2), len(t2))
t3 = (19, 20, 34)

4 元组就是不可变的列表 ,列表中和增删改无关的操作,元组都支持

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值