Python3列表
来源:互联网 发布:淘宝上的食品能买吗 编辑:程序博客网 时间:2024/06/05 09:07
序列是python最基本的数据结构,序列中的每个元素都分配一个位置数字,从0开始;可以进行的操作包括,切片,索引,加,检查成员。
列表的数据项不需要具有相同的类型;使用方括号逗号分隔来创建序列。
列表的元素可以修改,字符串和元组不可以。
访问序列的值
>>> list1=['hello',1,2.0]>>> print(list1[1:])[1, 2.0]
更新列表
>>> list1=['hello',1,2.0]>>> list1.append('nosqldba')>>> print(list1[1:]) [1, 2.0, 'nosqldba']>>> list1[1]='world'>>> print(list1[1:])['world', 2.0, 'nosqldba']
删除列表元素
>>> list1=['hello',1,2.0] >>> print(list1) ['hello', 1, 2.0]>>> del list1[1]>>> print(list1)['hello', 2.0]
列表脚本操作符
Python 表达式
描述
len(list)
长度
list1 + list2
组合
list * 4
重复
x in list
元素是否存在于列表中
for x in list: print x,
迭代
>>> list1=['hello',1,2.0]>>> len(list1)3>>> list1+list1['hello', 1, 2.0, 'hello', 1, 2.0]>>> list1*2['hello', 1, 2.0, 'hello', 1, 2.0]>>> print(1 in list1)True>>> for x in list1:... print(x)... hello12.0
列表截取与拼接
+和*操作符和字符串类似
>>> list1=['hello',1,2.0] >>> list1[1]1>>> list1[-1]2.0>>> list1[1:][1, 2.0]>>> list1+list1['hello', 1, 2.0, 'hello', 1, 2.0]
嵌套列表
>>> x=[1,2,3]>>> y=[a,b,c]Traceback (most recent call last): File "<stdin>", line 1, in <module>NameError: name 'a' is not defined>>> y=['a','b','c']>>> z=[x,y]>>> print(z)[[1, 2, 3], ['a', 'b', 'c']]>>> z[0][0]1
列表函数和方法
函数
序号
函数
len(list)
列表元素个数
max(list)
返回列表元素最大值
min(list)
返回列表元素最小值
list(seq)
将元组转换为列表
>>> tuple1=(1,'china','usa')>>> type(tuple1)<class 'tuple'>>>> list1=list(tuple1)>>> type(list1)<class 'list'>
方法
序号
方法
list.append(obj)
在列表末尾添加新的对象
list.count(obj)
统计某个元素在列表中出现的次数
list.extend(seq)
在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
list.index(obj)
从列表中找出某个值第一个匹配项的索引位置
list.insert(index, obj)
将对象插入列表
list.pop(obj=list[-1])
移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
list.remove(obj)
移除列表中某个值的第一个匹配项
list.reverse()
反向列表中元素
list.sort([func])
对原列表进行排序
list.clear()
清空列表
list.copy()
复制列表
>>> list1=[3,2,1]>>> list1.sort()>>> print(list1)[1, 2, 3]>>> list2=list1>>> print(list2)[1, 2, 3]>>> list3=list1.copy()>>> print(list3)[1, 2, 3]>>> list1.remove(1)>>> print(list1) [2, 3]
列表当作堆栈使用
堆栈做为特定的数据结构,最先进入的元素最后一个被释放-后进先出;使用append()方法可以把一个元素添加到堆栈顶,用不指定索引的pop()方法可以把一个元素从堆栈顶部释放出来
>>> stack1 = [1,2,3,4]>>> stack1.append(5)>>> stack1.append(6)>>> stack1[1, 2, 3, 4, 5, 6]>>> stack1.pop()6>>> stack1[1, 2, 3, 4, 5]
列表当作队列使用
队列在第一个加入的元素第一个取出来,先进先出模式;不过用列表当队列效率不高,因为所有其他的的元素都需要一个一个移动
>>> from collections import deque>>> queue1 = deque([1,2,3])>>> queue1.append(4)>>> queue1.append(5)>>> queue1deque([1, 2, 3, 4, 5])>>> queue1.popleft()1>>> queue1deque([2, 3, 4, 5])
列表推导式
>>> list1 = [2,4,6]>>> [3*x for x in list1][6, 12, 18]>>>>>> [[x,x**2] for x in list1][[2, 4], [4, 16], [6, 36]]>>>>>> [3*x for x in list1 if x>3][12, 18]>>>>>> list2 = [' abc',' def ',' hij ']>>> [x.strip() for x in list2]['abc', 'def', 'hij']>>>>>> list3 = [1,2,3]>>> list4=[4,5,6]>>> [x*y for x in list3 for y in list4][4, 5, 6, 8, 10, 12, 12, 15, 18]>>> [list3[i]*list4[i] for i in range(len(list3))][4, 10, 18]
嵌套列表解析
列表可以嵌套
>>> list5 = [... [1,2,3,4],... [5,6,7,8],... [9,10,11,12]... ]>>> [[row[i] for row in list5] for i in range(4)][[1, 5, 9], [2, 6, 10], [3, 7, 11], [4, 8, 12]]>>>>>>>>> list6=[]>>> for i in range(4):... list6.append([row[i] for row in list5])...>>> list6[[1, 5, 9], [2, 6, 10], [3, 7, 11], [4, 8, 12]]>>>>>> list7=[]>>> for i in range(4):... list7_row=[]... for row in list5:... list7_row.append(row[i])... list7.append(list7_row)...>>> list7[[1, 5, 9], [2, 6, 10], [3, 7, 11], [4, 8, 12]]
- python3 列表
- Python3列表
- Python3 列表
- Python3 列表
- python3列表
- python3列表方法
- python3内置方法列表
- Python3 list 列表操作
- Python3基础-列表
- python009 Python3 列表
- python3中的列表特性
- python3学习-列表方法
- python3-列表练习
- Python3 列表(list)
- Python3 列表自定义排序
- python3 判断列表是一个空列表
- python3.3 列表 小例
- Python3.0+学习记录-列表
- Tomcat 配置https访问服务
- Spring : 基于XML Schema的配置(一)(转载)
- 算法课第七周作业 | Word Break
- 博为峰Java技术文章 ——JavaSE Swing 布局管理器简述
- nginx 加入contos服务启动 service
- Python3列表
- 每日一题 No.13 会移动的光标
- Codeblocks中配置OpenGL
- 菜鸟学android(2)帧布局,绝对布局,表格布局,网格布局
- 生产者和消费者问题【java等待通知机制实现】
- 仿网易新闻主界面(一)——RadioGroup+Fragment
- Oracle(24)pl/sql编程 视图
- Linux内核分析(七)之待时而动
- Gallery和ImageSwitcher ---------- 制作图片浏览器