Python基本数据类型——列表

序列

序列是Python中的内置数据结构,常见的序列有:列表、字典、元组。 所有的序列都有自己的索引,程序可以通过索引来访问对应的值。


列表 list

list是Python的一种最常见的内置数据类型。list是一种无序的可重复的数据序列,可以随时添加和删除其中的元素。列表的长度一般是事先未确定的,并可在程序执行期间发生改变。

列表的每个元素都分配一个数字索引,和C语言中的数组一样的从0开始。
列表的创建使用两个方括号“[]”,并使用逗号作为元素的分割。
列表并不要求其元素的类型相同,只需将其元素通过逗号分割开来即可。

创建list

>>> list_1 = [3,1,2,'c','b','a']
>>> list_1
[3, 1, 2, 'c', 'b', 'a']

访问list中的元素

list对每个元素都指定了对应的从0开始的数字索引,也就是元素在list中的位置,程序可以通过这个索引来访问对应的元素。

>>> list_2 = ['a','b','c','d','e','f','g','h','i','j']
>>> list_2[1]
'b'
>>> list_2[5]
'f'

list的切片访问

list访问元素是通过其索引来实现的,除了可以一个个地访问,也可以通过list的切片功能来实现批量访问。

切片访问列表采用:list_name[begin🔚step] 来实现。begin表示起始位置(默认为0),end表示结束位置(默认为最后一个元素),step是步长(默认为1)。

切片访问如果是连续的顺序元素,将不会包括最后一个元素。

例1:访问位置从1开始,到5结束的所有元素

>>> list_2 = ['a','b','c','d','e','f','g','h','i','j']
>>> list_2[1:5] 
['b', 'c', 'd', 'e'] # 输出的结果不包括下表为5的元素

例2:访问偶数下表的所有访问:

>>> list_2 = ['a','b','c','d','e','f','g','h','i','j']
>>> list_2[0::2]
['a', 'c', 'e', 'g', 'i']

例3:访问最后一个元素:
>>> list_2[-1]
'j'
# 同理,倒数第二个元素,以此类推
>>> list_2[-2]
'i'
>>> list_2[-3]
'h'

例4:访问最后三个元素:

>>> list_2[-1:-4:-1]
['j', 'i', 'h']
>>> 

元素类型

由于,Python中的list对其元素并没有做限制,只要是合法的对象都可以作为其元素。

例如:嵌套list

>>> Lst1 = [1,2,3]
>>> Lst2 = ['a','b','c']
>>> Lst3 = [ Lst1 , Lst2 ] 
>>> Lst3
[[1, 2, 3], ['a', 'b', 'c']]
>>> Lst3[0]
[1, 2, 3]
>>> Lst3[1]
['a', 'b', 'c']

例如:访问内嵌list的元素

# 可以理解为: Lst3[0] ==> Lst1,然后采用list常规的操作方式即可实现对Lst3[0]进行操作。
>>> Lst3[0][1]  
2
>>> Lst3[0][1:3]
[2, 3]

列表中的常见的方法:

  • append(item):列表末尾插入item

例如:添加一个元素

>>> list = ['a','b','c']
>>> list
['a', 'b', 'c']
>>> list.append('d')
>>> list
['a', 'b', 'c', 'd']

例如:添加一个新列表

>>> list.append([1,2,3])
>>> list
['a', 'b', 'c', 'd', [1, 2, 3]]
  • count(element):返回element在列表中的个数

例如:添加一个元素“a”,返回其在列表中个数

>>> list.append('a')
>>> list
['a', 'b', 'c', 'd', [1, 2, 3], 'a']
>>> list.count('a') 
2
  • extend(newlist):将newlist列表中的元素添加到列表末尾

例如:将['e','f','g']中的所有元素添加为list中的元素,而不是嵌套插入

>>> list.extend(['e','f','g'])
>>> list
['a', 'b', 'c', 'd', [1, 2, 3], 'a', 'e', 'f', 'g']
  • index(element):返回element在列表中的首次出现的索引。

例如:“a”在list中有两个,现在需要返回其第一次出现时的索引

>>> list.index('a')
0
  • insert(index,item):在位置index插入item

例如:在第0个位置插入“A”

>>> list.insert(0,'A')
>>> list
['A', 'a', 'b', 'c', 'd', [1, 2, 3], 'a', 'e', 'f', 'g']
>>> list.index('a')   
1
  • pop([index]):index位置参数是可选的。如果无参数,则会删除并返回最后一个元素;有参数则删除并返回指定位置的元素。

例如:[1, 2, 3]在 list 中的第5个位置,将其删除

>>> list.pop(5)
[1, 2, 3]
>>> list
['A', 'a', 'b', 'c', 'd', 'a', 'e', 'f', 'g']
>>> 
  • remove(element):删除首次在列表中出现的element。

例如: 将首次出现的“a”删除

>>> list.remove('a')
>>> list
['A', 'b', 'c', 'd', 'a', 'e', 'f', 'g']
>>> 
  • reverse():反转列表中的内容。

例如:翻转整个list

>>> list.reverse()
>>> list
['g', 'f', 'e', 'a', 'd', 'c', 'b', 'A']
  • sort([compare-funciton]):对列表进行排序。可选参数“compare-function”是一个函数,指定比较的条件。

例如:默认的排序方式

>>> list = [5,6,65,32,1,32]  
>>> list.sort()
>>> list
[1, 5, 6, 32, 32, 65]
>>> list = ['c','e','a','r','b']
>>> list.sort()
>>> list
['a', 'b', 'c', 'e', 'r']

Python列表脚本操作符

列表支持 + 和 * 的操作符。

+ :用于组合列表

>>> [1,2,3] + [4,5,6]
[1, 2, 3, 4, 5, 6]

*:用于重复列表

>>> [1,2,3] * 3
[1, 2, 3, 1, 2, 3, 1, 2, 3]
posted @ 2017-07-16 21:05  wshenJin  阅读(4629)  评论(0编辑  收藏  举报