列表和列表推导式
1) review
1. 认识列表(list)
[元素1,元素2,…]
可变的;有序的
任何类型的数据都可以作为列表的元素
2.增删改查
1)查-获取元素
查单个-列表[下标]
切片 - 列表[开始下标:结束下标:步长]
遍历
“”"
for 元素 in 列表
循环体
通过遍历下表来遍历列表
for 下标 in range(len(列表)):
列表[下标]
“”"
2)增
列表.append(元素)
列表.insert(下标,元素)
3)删
del 列表[下标]
列表.remove(元素)
列表.pop(),列表.pop(下标)
4) 改
列表[下标] = 值
2.列表相关的运算符
1.数学运算符:+ 、*
列表1 +列表2 - 将两个列表中的元素合并产生一个新的列表
list1 = [100,200,300]
list2 = [10,20]
print(list1+list2)
列表 * N / n * 列表
3+3+3+3 - 3*4 - 列表中的元素 重复N次产生一个新的列表
print(list2 * 3 ) # [10,10,10,20,20,20]
2.比较运算符
print(10 == ‘abc’)
补充:不同的类型可以使用==和!=来比较是否相等,但是不能使用>、<,>=,<=来比较大小
1)== 、!=
print([10,20,30]) ==[10,20,30] #True
print([10,20,30]) ==[10,30,20] #False 有序
<,>,>=,<
print([10,100,200,300])>[20,1] #第一对不相等位置数的大小对比
print([100,100,200]) >[10,20,1000000,500,132] # True
print([10,20,30])>[10,20] #True
3.列表相关函数
max(序列) -获取序列中最大的元素
min(序列) - 获取序列中最小的元素
nums = [10,29,78,34,56,5,72]
print(max(nums)) # 78
print(min(nums)) #5 列表中类型相同
2 .SUM
sum(数字序列) - 球序列中素有元素
nums = [10,29,78,34,56,5,72]
print(sum(nums))
print(sum(range(101
3.storted
storted(序列) - 将
序列中的元素从小到大排序,产生一个新的列表
num = [10,29,78,34,56,5,72]
new_nums = storted(nums)
print(new_nums)
nums = [10,29,78,34,56,5,72]
new_nums = sorted(nums,reverse = True)
print(new_nums)
4.len
len(序列) - 获取序列中元素的个数
print(len([10,20,30]))
print(len('abc123'))
print(len(range(5,100))
5.list
list(数据) -
list(序列) - 将序列的元素作为列表的元素创建一个新的列表
print(list(‘abc’)) #[‘a’,'b,‘c’]
print(list(range3)) #[0,1,2]
4.列表相关方法
1. 列表.clear() - 清空列表、
nums = [10]
nums.clear()
print(nums) # []
#2.列表.copy - 复制列表产生一个一模一样的心列表
列表[:]、列表*1、 列表+[] #都是浅拷贝
nums = [10,20,34,89]
new_nums = nums . copy()
print(new_nums1)
#变量在保存数据的时候爆粗一年的其实就是数据在内存中的地址(Pthon
)一个变量直接给另外一个变量赋值,赋的是地址
new_nums2 = nums\
print(nem_nums2) #[10,20,34,89]
print
2.列表.count (元素) - 统计列表中指定元素的个数
nums = [10,20,34,89,10,34,80,10]
print(num.count(10))
c1 = nums.count(5)
print(c1) #0
3. 列表.extend (序列)–将序列中的元素全部添加到列表中
num.append([10,20])
print(nums) #[100,200,[10,20]]
nums.eztend([10,20])
print(nums) #[100,200,10,20]
nums.extend('abc')
print(num) # [100,200,,10,20,'a','b','c']
4. 列表.inde(元素) - 获取元素在列表中的下标值(0开始的下标值)
#如果元素有多个返回第一个的下标;如果元素不存在会报错
nums = [10,20,34,89,10,34,80,10]
resule = nums.index(20)
priint(resulet) #1
result = nums.index(89)
print(result) #3
result = nums.index(10)
print(result) #0
6.列表.reverse
#7.排序
列表.sort() / 列表(reverse =True)
sorted(序列) /sorted(序列,reverse= True)
nums = [10,28,90,67,20]
result = sorted(nums)
print(nums) #[10,28,90,67,20]
print(result) #[10,20,28,67,90]
nums = [10,28,90,67,20]
result = nums.sort()
print(nums) #[10,20,28,67,90]
print(result) #None
5列表推倒式 – 快出创建列表的表达式
1. 推导式结构1
'''
[表达式 for 变量 in序列] - 让变量去序列中取值,一个一个取,取完为止,每取一个值就将表达式的值作为列表的一个元素
[]
'''
list1 = [10 for x in 'abc']
print(list1) #[10,10,10]
list2 = [x*2 for x in range(5,11)]
print(list2)
三目运算符
'''
表达式? 值1:值2 - 如果表达式的值为真 结果就是值1 ,否则结果是值2
'''
'''
值1 if 表达式 else 值2 - 如果表达式的值为真 结果就是值1 ,否则结果是值2
'''
2.推导式结构2
'''
[表达式 for 变量 in 序列 if 条件语句]
创建一个列表;变量去序列取值,一个一个的取,取完妹纸,每取一个值就判断条件语句是否为True,如果为True就计算表达式的结果为列表的元素
'''
6.元组
元组 就是不可变的列表
查、in 和not in 、数学运算 比较运算、相关函数、count、 -元组都支持
#1.什么是元祖(tuple)
'''
(元素1,元素2,元素3)
不可变;有序
'''
# 空元组
t1 = ()
print(t1,type(t1))
#有一个元素的元组 :(元素,)
t2 = (10,)
print(t2,type(t2))