数据存储方式,存储一系列的数据,内存中,序列就是一块用来存放多个值得连续内存空间
序列包含:字符串 列表 元祖 字典 集合
列表的大小可变,根据需要随时增加和缩小,列表地址不变
1.1.1基本语法创建
a = ['abc', '123', '20']
a = [] # --创建空列表
1.1.2 list( )创建
a = list()
a = list(range(10))
a = list('abc') # --直接将字符串转化为列表
1.1.3 推导式创建 控制语句
a = [i**2 for i in range(10)]
print(a)
我们一般只在列表的尾部增加或删除元素,这样提高操作效率
1.2.1 append()方法
a = ['abc', '123', '20']
a.append('10')
a.append(['10', '20']) # --插入一个元素list
print(a)
1.2.2 extend()方法
a.extend(['10', '20']) #--插入两个元素
print(a)
1.2.3 insert()方法
a.insert(2, '10') # --在指定切片位置插入
print(a)
1.3.1 del()删除
a = ['abc', '123', '20']
del(a[2]) # --删除某个位置的元素,其他重新排序
del(a[1:2]) #--可以同时删除多个元素
print(a)
1.3.2 pop()删除
a = ['abc', '123', '20']
a.pop(1) # -- 删除某个位置,默认删除最后一个
print(a)
1.3.3 remove()删除
a = ['abc', '123', '20']
a.remove('abc') # -- 删除指定元素
print(a)
`
1.4.1通过索引[ ] 直接访问
a = ['abc', '123', '20']
print(a[1])
1.4.2 index()首次出现的索引
a = ['abc', '123', '20', 'cde', '10']
print(a.index('abc')) # --可以设置搜索范围index(value,satrt,end)
a = ['abc', '123', '20', 'cde', '10']
print(a[:5:2])
print(a[::-1]) # --取逆
print(a[-1:-4:-1]) # --注意写法
1.6.1修改原列表,不建新列表的排序
import random
a = [10, 20, 40, 30]
# print(sort(a))
a.sort() #--False为升序
print(a)
random.shuffle(a) # --进行乱序排列
print(a)
min max sum等
a = [
['zs', 180, '男'],
['ls', 160, '女'],
['ww', 175, '中性'],
]
print(a[1][2])
列表属于可变序列,元祖属于不可变序列
元祖没有增加,修改删除等改变表的操作
2.1.1通过()创建,()也可以省略
a = () # 空列表
a = (1,) #单个字符要加,
a = 1, 2 #可以不加()
print(a)
2.1.2通过tuple()创建
a = tuple()
print(type(a))
a = tuple([1, 2, 3]) # --list转为tuple
a = tuple('abc') # --str转化为tuple
a = tuple(range(10)) # --迭代器传给tuple
print(a)
2.2.1 zip()用法
a = [10, 20, 30]
b = [20, 30, 40]
c = zip(a,b) # -- c是一个zip对象
print(list(c)) # -- 元祖组合起来的列表
# 必须加上tuple,否则只是个迭代器
a = tuple(i for i in range(11) if i % 2 == 0)
print(a)
next()调用迭代器对象
a = (i for i in range(11))
print(a.__next__()) # --返回0
print(a.__next__()) # --返回1