python-list详解

list 内置操作方法

列表是最常用的Python数据类型,列表是一个数据的集合,集合内可以放任何数据类型,可对集合方便的增删改查操作。Python已经内置确定序列的长度以及确定最大和最小的元素的方法

  • 创建列表
list1 = [1,'33','abc','def']
  • 访问列表中的值
>> list1 = [1,'33','abc','def']
>>> list1[0]
1
>>> list1[0:2]
[1, '33']
>>> list1[0:]
[1, '33', 'abc', 'def']
>>> list1[1:]
['33', 'abc', 'def']
>>> list1[:2]
[1, '33']

 

  • 更新列表
>>> list1[1] = '55'
>>> list1
[1, '55', 'abc', 'def']
>>> list1.append('66')
>>> list1
[1, '55', 'abc', 'def', '66']

>>> list1.extend('77') #迭代后添加到列表中

>>> list1

  [1, '55', 'abc', 'def', '66', '7', '7']

 

 

  • 删除列表元素
>>> list2 = [323,'lilei','hameimei','dongzuo']
>>> del list2[2]
>>> list2
[323, 'lilei', 'dongzuo']

 

 

  • list的操作符

列表对 + 和 * 的操作符与字符串相似。+ 号用于组合列表,* 号用于重复列表。

如下所示:

 

Python 表达式 结果 描述
len([1, 2, 3]) 3 长度
[1, 2, 3] + [4, 5, 6] [1, 2, 3, 4, 5, 6] 组合
['Hi!'] * 4 ['Hi!', 'Hi!', 'Hi!', 'Hi!'] 重复
3 in [1, 2, 3] True 元素是否存在于列表中
for x in [1, 2, 3]: print x, 1 2 3 迭代

 

 

  • Python列表函数

1.len(list)
列表元素个数

>>> list2 = ['dongzuo','sb','lishi']
>>> len(list2)
3

 

2.max(list)

返回列表元素最大值

当列表中既有数字又有字符串时,max(list)会报TypeError错误

>>> list2 = ['dongzuo','sb','lishi']
>>> max(list2)
'sb'
>>> list3 = [12,14,5,4]
>>> max(list3)
14
>>> list3 = [12,14,5,4,'sb']
>>> max(list3)
Traceback (most recent call last):
  File "<input>", line 1, in <module>
TypeError: '>' not supported between instances of 'str' and 'int'

 

3.min(list)

返回列表元素最小值

4.list(seq)

将元组转换为列表

>>> tup1 = ('hdjhf','luanlai')
>>> list(tup1)
['hdjhf', 'luanlai']

 

  • Python包含以下方法:

1、L.append(object) -> None -- append object to end 

在列表末尾添加新的对象

>>> list1 = ['li','ha','250',250]
>>> list1.append('gg')
>>> list1
['li', 'ha', '250', 250, 'gg']
>>> list1.append(120)
>>> list1
['li', 'ha', '250', 250, 'gg', 120]
>>> list1.append('li')
>>> list1
['li', 'ha', '250', 250, 'gg', 120, 'li']
>>> list1.append(['123',78]) #把列表当做一个元素添加到末尾
>>> list1
['li', 'ha', '250', 250, 'gg', 120, 'li', ['123', 78]] 
>>> list1.append('')
>>> list1
['li', 'ha', '250', 250, 'gg', 120, 'li', ['123', 78], '']


2、L.count(value) -> integer -- return number of occurrences of value

统计某个元素在列表中出现的次数.

>>> list1
['li', 'ha', '250', 250, 'gg', 120, 'li', ['123', 78], '']
>>> list1.count('li')
2
>>> list1.count('250')
1
>>> list1.append(['li'])
>>> list1
['li', 'ha', '250', 250, 'gg', 120, 'li', ['123', 78], '', ['li']] 
>>> list1.count('li')
2


3、L.extend(iterable) -> None -- extend list by appending elements from the iterable

在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)

>>> list2 = ['zhangsan','lishi','laowang']
>>> list2.extend('shuai')
>>> list2
['zhangsan', 'lishi', 'laowang', 's', 'h', 'u', 'a', 'i']
>>> list2.extend(['hunan','lidehua','wuqilong'])
>>> list2
['zhangsan', 'lishi', 'laowang', 's', 'h', 'u', 'a', 'i', 'hunan', 'lidehua', 'wuqilong']
>>> list2.extend(('wangfei','wangtao'))
>>> list2
['zhangsan', 'lishi', 'laowang', 's', 'h', 'u', 'a', 'i', 'hunan', 'lidehua', 'wuqilong', 'wangfei', 'wangtao']


4、L.index(value, [start, [stop]]) -> integer -- return first index of value

从列表中找出某个值第一个匹配项的索引位置,如果没有找到对象则抛出异常

>>> list3 = ['zhangsan','lishi','laowang']
>>> list3.index('lishi')
1
>>> list3.index('lishi',2,3)
Traceback (most recent call last):
  File "<input>", line 1, in <module>
ValueError: 'lishi' is not in list


5、L.insert(index, object) -- insert object before index

将对象插入列表

>>> list3
['zhangsan', 'mayun', 'lishi', 'laowang']
>>> list3.insert(0,'')
>>> list3
['', 'zhangsan', 'mayun', 'lishi', 'laowang']
>>> list3.insert(8,'liuqiangdong')  #如果索引值超出当前范围,则插入到末尾
>>> list3
['', 'zhangsan', 'mayun', 'lishi', 'laowang', 'liuqiangdong']


6、L.pop([index]) -> item -- remove and return item at index (default last)

移除列表中的一个元素(默认最后一个元素),并且返回该元素的值

>>> list3
['', 'zhangsan', 'mayun', 'lishi', 'laowang', 'liuqiangdong']
>>> list3
['', 'zhangsan', 'mayun', 'lishi', 'laowang', 'liuqiangdong']
>>> list3.pop()
'liuqiangdong'
>>> list3
['', 'zhangsan', 'mayun', 'lishi', 'laowang']
>>> list3.pop(0)
''
>>> list3
['zhangsan', 'mayun', 'lishi', 'laowang']
>>> list3.pop(-1) 
'laowang'
>>> list3
['zhangsan', 'mayun', 'lishi']
>>> list3.pop(10)
Traceback (most recent call last):
  File "<input>", line 1, in <module>
IndexError: pop index out of range


7、L.remove(value) -> None -- remove first occurrence of value

移除列表中某个值的第一个匹配项

>> list3
['zhangsan', 'mahuateng', 'mayun', 'lishi', 'liuqiangdong', 'mahuateng']
>>> list3.remove('mahuateng')
>>> list3
['zhangsan', 'mayun', 'lishi', 'liuqiangdong', 'mahuateng']


8、L.reverse() -- reverse *IN PLACE*

反向列表中元素

>>> list3
['mahuateng', 'liuqiangdong', 'lishi', 'mayun', 'mahuateng', 'zhangsan']
>>> list4 = []
>>> list4.reverse()
>>> list4
[]


9、L.sort(key=None, reverse=False) -> None -- stable sort *IN PLACE* 

对原列表进行排序

  • cmp -- 可选参数, 如果指定了该参数会使用该参数的方法进行排序。
  • key -- 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。
  • reverse -- 排序规则,reverse = True 降序, reverse = False 升序(默认)。
>>> list5 = ['b','a','f','e','c']
>>> list5.sort()
>>> list5
['a', 'b', 'c', 'e', 'f']
>>> list5.sort(reverse=True)
>>> list5
['f', 'e', 'c', 'b', 'a']
>>> list5.insert(1,13)
>>> list5
['f', 13, 'e', 'c', 'b', 'a']  #当列表中元素不一致,排序会报错
>>> list5.sort()
Traceback (most recent call last):
  File "<input>", line 1, in <module>
TypeError: '<' not supported between instances of 'int' and 'str'

猜你喜欢

转载自www.cnblogs.com/liangyf/p/10310234.html