Python_List列表

  1. Python 列表 list
    基础数据结构,每个元素都分配一个数字–位置或索引 和 键值;
    列表的大数据项不需要具有相同的类型;
>>> l1 = [1,'name','python',88]   #创建列表
>>> type(l1)    #查看是否为列表类型
<class 'list'>
>>> print(l1[2])  #索引列表元素,从0开始,显示第三个元素也就索引2
python
>>> print(l1[-1])  #索引最后一个元素
>>> print(l1[1:3])  #元素切片,去序列1到3的值,但不包括3
['name', 'python']
>>> print(l1[-3:-1]) #取最后三个元素,但不包括最后一个
['name', 'python']
>>> print(l1[-3:])   #去最后三个元素
['name', 'python', 88]
>>> print(l1[:])    #去索引值,实际省略了前面的0
[1, 'name', 'python', 88]

>>> l2 = [l1[2],"very good"]  #索引元素创建新列表
>>> print(l2)
['python', 'very good']   
>>> l2+[1,2,3,4,5]   #链接列表
['python', 'very good', 1, 2, 3, 4, 5]

列表是可变的,它允许修改元素:
>>> l3 = [1,2,3]
>>> l3[1]=255    #修改第二个元素为255
>>> print(l3)
[1, 255, 3]
也可以切片赋值清空列表:
>>> l4=['a','b','c','d','e']   
>>> print(l4)
['a', 'b', 'c', 'd', 'e']
>>> l4[1:4]=['B','C','D']   #修改索引1-4但不包括4的值
>>> print(l4)
['a', 'B', 'C', 'D', 'e']
>>> l4[1:4]=[]    #清空1-4索引的值,不包括4
>>>del l4[1:4]  #也可以使用del删除列表中的元素
>>> print(l4)
['a', 'e']
>>> l4[0:]=[]    #清空列表,但列表对象还在,只是为空
>>>del l4     #删除列表,会把整个列表对象删除
>>> print(l4)
[]

列表允许嵌套列表或元组,字典:
>>> l5 = ['a','b','c']
>>> l6 = [1,2,3]
>>> l7 = [l5,l6]   #使用列表生成嵌套列表
>>> l7
[['a', 'b', 'c'], [1, 2, 3]]
>>> l7[0]     #就是列表了 
['a', 'b', 'c']
>>> l7[1]
[1, 2, 3]
>>> l7[0][1]  #嵌套取值,先去列表本身的第1个索引,然后第1个索引元素是列表,可以再索引列表中第2个元素。
'b'
>>> l7[1][1]

2.列表操作符
len()获取个数,(+)组合操作,(*)重复操作,(in)判断操作

>>> l7 =[1,2,3,4,5,6]
>>> len(l7)   #列表元素个数
>>> l8 =[1,2,3]+[4,5,6]  #组合列表
>>> l8
[1, 2, 3, 4, 5, 6]
>>> l9=l7*3   #重复列表元素
>>> l9
[1, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5, 6]
>>> 3 in l9    #元素是否在列表中
True
>>> for i in l7:print(i)  #迭代,循环列表元素
... 
2
4
6

3.列表函数
len,max,min,list,
cmp(python3中以operator模块代替) cmp判断字符在ASCII码中位值作比较,如a<b返回-1,a>b返回1,a=b返回0;

# python 2.7
>>> cmp('a','b')  # cmp判断字符在ASCII码中位置做比较,如a<b返回-1,a>b返回1,a=b返回0
-1
>>> ord('a')
97
>>> ord('b')
98
>>> ord('c')
99
>>> cmp('a','a')
0
>>> cmp('b','a')

4.列表方法

>>> l1 = [1,2,3,4]
>>> l1.append('one') # 增加元素
>>> l1
[1, 2, 3, 4, 'one']
>>> l1.append([2,2,2,])  # 增加列表对象
>>> l1
[1, 2, 3, 4, 'one', [2, 2, 2]]
>>> l1.count(2)  # 查找元素在列表中出现的次数
1
>>> l1.count('22')
0
>>> l1.append(2)
>>> l1.count(2)
2
>>> l1.extend([4,5,6]) # 两个列表扩展
>>> l1
[1, 2, 3, 4, 'one', [2, 2, 2], 2, 4, 5, 6]
>>> l1.index('one') # 查询元素在列表中的索引并返回
4
>>> l1.insert(1,('song','ong')) # 在列表索引为1前插入元素
>>> l1
[1, ('song', 'ong'), 2, 3, 4, 'one', [2, 2, 2], 2, 4, 5, 6]
>>> l1.pop() # 移除列表中的元素 无参数则从最后一个移除 并返回该元素的value
6
>>> l1
[1, ('song', 'ong'), 2, 3, 4, 'one', [2, 2, 2], 2, 4, 5]
>>> l1.pop(1) # 移除列表索引为1的元素 返回
('song', 'ong')
>>> l1
[1, 2, 3, 4, 'one', [2, 2, 2], 2, 4, 5]
>>> l1.remove('one') # 移除value值为one的元素 若不存在则抛出 
>>> l1
[1, 2, 3, 4, [2, 2, 2], 2, 4, 5]
>>> l1.remove(0)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: list.remove(x): x not in list
>>> l1.remove(1)
>>> l1
[2, 3, 4, [2, 2, 2], 2, 4, 5]
>>> l1.sort() # 对列表进行排序 排序对多种类型元素存在的列表会抛出异常
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: '<' not supported between instances of 'list' and 'int'
>>> l1.remove(3) # 这里是删除 值 为3的元素  删除指定索引的元素用pop
>>> l1
[2, 4, [2, 2, 2], 2, 4, 5]
>>> l1.remove(2)
>>> l1
[4, [2, 2, 2], 2, 4, 5]
>>> l1.pop(1) # 移除指定索引的值
[2, 2, 2]
>>> l1
[4, 2, 4, 5]
>>> l1.sort()
>>> l1
[2, 4, 4, 5]
>>> l1.reverse() # 对列表进行反向排序
>>> l1
[5, 4, 4, 2]

转自:http://www.cnblogs.com/zhangxinqi/p/7592213.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章