一.数据类型
不可变类型:数字,字符串,元组
可变数据类型,列表,字典,集合
dict和list比较,dict有以下几个特点:
1.查找和插入的速度极快,不会随着key的增加而增加
2.需要占用大量的内存,内存浪费多
list的特点
1.查找和插入的时间随着元素的增加而增加
2.占用空间小,浪费内存很少
所以,dict是用空间来换取时间的一种方法
tuple与list的区别
1.比列表操作速度快
2.对数据“写保护“
3.可用于字符串格式化中
4.可作为字典的key
列表(List)
列表:列表是一种可变的数据类型
列表的定义:[]
列表的索引取值
# 列表可以通过下标索引取值
li = [19, 1.3, "python"]
print(li[2])
结果:
列表的切片操作
# 列表的切片操作
li1 = [11, 22, 33, 44, 55]
print(li1[::2])
结果:
列表的增删查改
(1)增加元素的方法:append,insert extend
li2 = [1, 2, 3]
#append:往列表结尾处添加一个元素(追加)
li2.append("11")
#insert:通过下标指定位置,往列表中加入元素
li2.insert(1, 999)
#extend:一次性加入多个元素(放在列表的结尾处)
li2.extend([11, 22, 33])
print(li2)
结果:
(2)删除元素的方法:remove pop clear
# 删除元素的方法: remove pop clear
li3 = [1, 2, 3, 11, 22, 33, 1, 2, 3]
# remove:删除指定的元素(删除找到的第一个)
li3.remove(1)
print(li3)
#pop方法:指定下标位置进行删除(没有指定下标位置,默认删除的是最后一个)
li3.pop(3)
print(li3)
#clear:清空列表
li3.clear()
print(li3)
结果:
(3)查找元素的方法:index
注:字符串中可用find和index
li3 = [1, 2, 3, 11, 22, 33, 1, 2, 3]
# index:查找指定元素的下标,找到了返回下标值,没有找到报错
res = li3.index(11)
print(res)
结果:
(4)修改列表元素的方法:通过下标去指定元素,进行重新赋值
# 修改列表中某个元素的值
# 通过下标去指定元素,进行重新赋值
li4 = ["aa", "bb", 11, 22, 33]
#将bb改为999
li4[1] = 999
print(li4)
结果:
列表的统计
# count:统计列表中某个元素出现的次数
li3 = [1, 2, 3, 11, 22, 33, 1, 2, 3]
#统计1出现的次数
res2 = li3.count(1)
print(res2)
结果:
列表的排序
sort
li5 = [111, 22, 31, 41, 5, 6, 888, 8, 34, 8, 12, 7, 33]
#默认从小到大
li5.sort()
print(li5)
#从大到小
#通过参数(reverse=True)可以指定从大到小,降序排序
li5.sort(reverse=True)
print(li5)
结果:
列表的反转(头变成尾,尾变成头)
reverse
li5 = [111, 22, 31, 41, 5, 6, 888, 8, 34, 8, 12, 7, 33]
li5.reverse()
print(li5)
结果:
列表的复制
copy
li5 = [111, 22, 31, 41, 5, 6, 888, 8, 34, 8, 12, 7, 33]
li6 = li5.copy()
print(li6)
结果: