python数据结构--列表

2019-03-28  本文已影响0人  向上的路

列表

  1. 定义
    列表是一个有序可修改逗号分割,以中括号包裹的序列
    适用场景:
    存储多个数据,如需要存储100个人的名字等
    拓展
    列表与字符串的区别
    -列表
    可以修改
    -可通过列表的索引来修改列表
    -列表里面的数据类型是可以是不同的类型,甚至可以嵌套一个列表
>>> name = []
>>> print(type(name))
<class 'list'>
>>>
>>> name = ["12",10]
>>> print(name)
['12', 10]
>>> type(name)
<class 'list'>

2.列表添加

参数 描述
append 追加,在列表的尾部加入指定的元素
insert 将指定的元素插入到对应的索引位上,注意负索引
extend 将指定序列的元素依次追加到列表的尾部(合并)
>>> list1 = ['冰河','悟空','八戒',66]
>>> list1.append("嫦娥")
>>> print(list1)
['冰河', '悟空', '八戒', 66, '嫦娥']
>>> list1.insert(0,"DW")
>>> print(list1)
['DW', '冰河', '悟空', '八戒', 66, '嫦娥']
>>> list2 = [4,5,6]
>>> list1 + list2
['DW', '冰河', '悟空', '八戒', 66, '嫦娥', 4, 5, 6]

3.列表删除

参数 描述
pop 弹出并返回并删除指定索引位上的数据,默认删除索引为-1的数据
remove 从左往右删除一个指定的元素
del 删除整个列表或列表的数据,del是python内置功能,不是列表独有的
>>> list1
['DW', '冰河', '悟空', '八戒', 66, '嫦娥']
>>> list1.pop()
'嫦娥'
>>> list1
['DW', '冰河', '悟空', '八戒', 66]
>>> list1.remove('八戒')
>>> list1
['DW', '冰河', '悟空', 66]
>>> del list1[0]
>>> list1
['冰河', '悟空', 66]

4.列表查找

参数 描述
count 统计要计数的元素在列表当中的个数
index 查找,从左往右返回查找到的第一个指定元素的索引,如果没有找到,报错
in 查找元素是否在列表中,在输出true,否则false
>>> list1
['冰河', '悟空', 66]
>>> list1[-1]
66
>>> list1.insert(1,'悟空')
>>> list1
['冰河', '悟空', '悟空', 66]
>>> list1.insert(2,'ck')
>>> list1
['冰河', '悟空', 'ck', '悟空', 66]
>>> list1.count(66)
1
>>> list1.count('悟空')
2
>>> list1
['冰河', '悟空', 'ck', '悟空', 66]
>>> list1.index('ck')
2
>>> list1.index(88)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: 88 is not in list
>>> a = [1,2,3,4,[5,6],7,8]
>>> 4 in a
True
>>> 5 in a
False
>>> 5 in a[4]
True
>>> 5,6 in a[4]
(5, True)

补充: 5,6 in a[4] 表示采取就近原则,6在表达式中离a[4]更近,所以6对应的位置是True

5.列表排序

参数 描述
reverse 顺序倒序
sort 按照ascii码表顺序进行排序
>>> list1
['冰河', '悟空', 'ck', '悟空', 66]
>>> id(list1)
647520471048
>>> list1.reverse()
>>> list1
[66, '悟空', 'ck', '悟空', '冰河']
>>> id(list1)
647520471048
>>> list1
[66, '悟空', 'ck', '悟空', '冰河']
>>> list1.sort()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: '<' not supported between instances of 'str' and 'int'
>>> list2 = [6,4,3,5,1,2]
>>> list2.sort()
>>> list2
[1, 2, 3, 4, 5, 6]

拓展
-reverse 元素(包括下标)都对调了,但是id没有被修改
-列表内不同的数据类型,不能相互比较,否则会报错

6.list函数
list(),以一个序列作为参数并把它转换为列表,如何参数都是list,那么该参数就会被原样返回

>>> a = ['a','b','c']
>>> ''.join(a)
'abc'

注意:如果你定义了list这个变量,再用list()这个函数时会报错
7.列表的切片

>>> L1 = [1,2,3,4,5,6,7,8]
>>> L1[1]
2
>>> L1[-1]
8
>>> L1[1:4]
[2, 3, 4]
>>> L1[1:6:2]
[2, 4, 6]
>>> L1[1:6:-1]
[]
>>> L1[::-1]
[8, 7, 6, 5, 4, 3, 2, 1]
>>> L1[6:1:-1]
[7, 6, 5, 4, 3]
>>> L1[6:1:-2]
[7, 5, 3]
上一篇下一篇

猜你喜欢

热点阅读