python之列表、元组

一、列表
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))
  1. 类型转换
print(tuple('hello'))
print(tuple([1,2,3]))
print(tuple({'a1':111,'a2':222}))
  1. 内置方法
    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与上文一致

上一篇:格式化字符串的4种方式


下一篇:存储管理