一、列表
1.作用 按位置存放多个值
2.定义
l = [1,1.2,'aaa']
print(type(l))
3.类型转换 但凡能够被for循环遍历的类型都可以当做参数传给list()转成列表
res = list('hello')
print(res)
l = []
for x in 'hello':
l.append(x)
print(l)
res = list({'k1':111,'k2':222,'k3':333})
print(res)
3.内置方法
优先掌握的操作
3.1 按索引取值(正向存取+反向存取):既可以存也可以取
l = [111,'egon','hello']
#正向取
print(l[0])
#反向取
print(l[-1])
#可取可改
l [0] = 222 #索引存在则修改对应的值
print(l)
#无论您是取还是赋值操作,索引不存在,则报错
l[3]=333
3.2切片(顾头不顾尾,步长)
l = [111,'egon','hello','a','b','c',[1,2,3])
print(l[0:2])
print(l[0:5:2])
print(l[:])
new_l = l[:] #切片等同于拷贝行为,而且相当于浅拷贝
print(id(l))
print(id(new_l))
l[-1][0]=1111111
print(l)
print(new_l)
print(l[::-1])
3.3 长度
print(len(l))
3.4 成员运算 in 和 not in
print('aaa' in ['aaa',1,2])
print(i in ['aaa',1,2])
3.5.1 追加
l = [111,'egon','hello']
l.append(333)
l.append(444)
print(l)
3.5.2 插入值
l = l = [111,'egon','hello']
l.insert(1,'alex')
print(l)
3.5.3
new_l = [1,2,3]
l = [111,'egon','hello']
for item in new_l:
l.append(item)
print(l)
#extend 实现了上述代码
l.extend(new_l)
print(l)
l.extend('abc')
print(l)
3.6 删除
3.6.1 方式一:通用的删除方法,知识单纯的删除,没有返回值
l = [111,'egon','hello']
x = del[1] #不支持赋值语法
del l[1]
print(l)
3.6.2 方式二 l.pop 根据索引删除,会返回删除的值
l = [111,'egon','hello']
l.pop() #不指定索引默认删除最后一个
l.pop()
print(l)
res= l.pop(1)
print(l)
print(res)
3.6.3 方式三 l.remove根据 元素删除,返回None
l = [111,'egon','hello']
l.remove('egon')
res = l.remove('egon')
print(res)
print(l)
3.7 循环
for x in [111,‘aaa’,‘bbb’]:
print(x)
需要掌握的操作
l = [1,'aaa','bbb']
l.count()
print(l.count('aaa'))
l.index()
print(l.index('aaa'))
print(l.index('aaaaaaaaa'))
l.reverse() #不是排序,是将列表倒过来
l = [1,'egon','alex',;lxx']
l.reverse()
print(l)
l.sort() #列表内元素必须是同种类,才可以排序
l = [11,-3,9,2]
l.sort() #默认从小到大排,称之为升序
l.sort(reverse = True) # 从大到小排 设置为降序
print(l)
补充:
队列:FIFO 先进先出
#入队操作
l.append('1')
l.append('2')
l.append('3')
print(l)
#出队操作
print(l.pop(0))
print(l.pop(0))
print(l.pop(0))
堆栈: LIFO 后进先出
#入栈操作
l.append('1')
l.append('2')
l.append('3')
print(l)
#出栈操作
print(l.pop())
print(l.pop())
print(l.pop())
二、元组
元组就是‘一个不可变的列表’
1.作用 按照索引/位置存放多个值,只用于读不用于改
2.定义 (内用逗号隔开多个任意类型的元素)
t = (1,1.2,'aaa')
print(t,type(t))
x= (10) #单独一个括号代表包含的意思
print(x,type(x))
t = (10,) #如果元组中只有一个元素,必须加逗号
print(t,type(t))
- 类型转换
print(tuple('hello'))
print(tuple([1,2,3]))
print(tuple({'a1':111,'a2':222}))
- 内置方法
1、按索引取值(正向取+反向取);只能取
2、切片(顾头不顾尾、步长)
3、长度
4、成员运算in 和 not in
5、循环
6
t = (1,1,1,2,3,121,3243,4444444444)
print(t.index(1))
print(t.count(1))
#1-5与上文一致