Python

  列表和元祖是Python 6种内置序列类型中最常见的两种,其中列表是可变序列类型,元祖是不可变序列类型。

1. 创建列表

将不同数据项,使用逗号分隔,用中括号括起来,就可以创建列表。

>>> fruits = ['apple','banana','mango','orange','pear']
>>> fruits
['apple', 'banana', 'mango', 'orange', 'pear']

使用Python内置函数 len(list) 返回列表长度

>>> len(fruits)
5

我们可以创建没有任何元素的空列表

>>> cars = []
>>> cars
[]

还可以使用内置函数 list(seq) 将其他序列转化为列表

>>> str = 'Hello'
>>> list(str)
['H', 'e', 'l', 'l', 'o']

>>> tup = (10, 20, 30)
>>> list(tup)
[10, 20, 30]

列表中元素的数据类型可以不同

>>> multi = ['apple', 10, ('cat', 'dog')]
>>> multi
['apple', 10, ('cat', 'dog')]

2. 访问列表元素

通过索引访问列表中的元素,索引从0开始。当访问列表中的元素时,确保索引不要越界,否则会报错。

>>> fruits = ['apple','banana','mango','orange','pear']
>>> fruits[0]
'apple'
>>> fruits[1]
'banana'

索引超出范围时,将返回IndexError错误,确保索引不要越界,最后一个元素的索引是 len(list)-1 

>>> fruits[5]
Traceback (most recent call last):
  File "<input>", line 1, in <module>
IndexError: list index out of range

最后一个元素的索引还可以用 -1 表示,倒数第2个用 -2 表示,依次类推。

>>> fruits[-1]
'pear'
>>> fruits[-2]
'orange'

想知道列表元素的索引,使用列表方法 list.index(obj) ,该方法返回从左到右匹配到的第一个元素的索引。

>>> fruits.index('orange')
3

列表中可能存在重复的元素,使用方法 list.count(obj) 返回某个元素在列表中出现的次数。

>>> nums = [1, 2, 3, 3, 5, 5, 5]
>>> nums.count(3)
2
>>> nums.count(5)
3

 

3. 对列表进行增、删、改等操作

追加列表元素,方法 list.append(obj) 在列表的末尾追加元素。

>>> fruits = ['apple']
>>> fruits
['apple']
>>> fruits.append('banana')
>>> fruits
['apple', 'banana']
>>> fruits.append('mango')
>>> fruits.append('orange')
>>> fruits.append('pea')
>>> fruits
['apple', 'banana', 'mango', 'orange', 'pea']

将其他序列中的元素追加到列表中,方法 list.extend(seq) 将其他序列中的元素追加到列表末尾

>>> fruits =  ['apple','banana']
>>> students = ('xioaming', 'xiaohua')
>>> fruits.extend(students)
>>> fruits
['apple', 'banana', 'xioaming', 'xiaohua']
>>> word = 'HELLO' >>> fruits.extend(word) >>> fruits ['apple', 'banana', 'xioaming', 'xiaohua', 'H', 'E', 'L', 'L', 'O']

插入列表元素,方法 list.insert(index, value) 将元素插入指定索引的位置

>>> digit = ['10', '11', '12', '13']
>>> digit.insert(1, '88')
>>> digit
['10', '88', '11', '12', '13']

通过索引删除列表元素,方法 list.pop() 默认删除列表中最后一个元素,也可以通过索引指定删除列表中的具体元素 list.pop(index) 

>>> fruits.pop()
'pea'
>>> fruits
['apple', 'banana', 'mango', 'orange']
>>> fruits.pop(1)
'banana'
>>> fruits
['apple', 'mango', 'orange']

通过元素删除列表元素,方法 list.remove(obj) 删除从左到右匹配到的第一个元素

>>> fruits = ['apple','banana','mango','orange','pear']
>>> fruits.remove('banana')
>>> fruits
['apple', 'mango', 'orange', 'pear']

>>> nums = [1, 2, 3, 3, 5, 5, 5]
>>> nums.remove(3)
>>> nums
[1, 2, 3, 5, 5, 5]

替换列表元素,对对应索引位置的元素重新赋值,就可以替换该元素

>>> fruits = ['apple','banana','mango','orange','pear']
>>> fruits[1] = 'dog'
>>> fruits
['apple', 'dog', 'mango', 'orange', 'pear']

对列表中的元素重新排序,方法 list.sort() 从小到大排序列表中的元素, list.sort(reverse=True) 从大到小排序,该方法是直接改变原列表元素的顺序。

>>> nums = [0, 5, 3, 2, 4, 1]
>>> nums.sort()
>>> nums
[0, 1, 2, 3, 4, 5]

>>> nums = [0, 5, 3, 2, 4, 1]
>>> nums.sort(reverse=True)
>>> nums
[5, 4, 3, 2, 1, 0]

反转列表中元素顺序,方法 list.reverse() 对原列表元素反向排序

>>> fruits = ['apple','banana','mango','orange','pear']
>>> fruits.reverse()
>>> fruits
['pear', 'orange', 'mango', 'banana', 'apple']

合并列表,使用“+”可以将多个列表合并为一个新的列表

>>> fruits =  ['apple','banana']
>>> nums = [1, 2, 3]
>>> students = ['xiaoming', 'xiaohua']
>>> fruits + nums + students
['apple', 'banana', 1, 2, 3, 'xiaoming', 'xiaohua']

截取列表,使用语句 list[N1:N2] 截取列表索引为N1到N2-1的元素形成新列表

>>> nums = [10, 11, 12, 13, 14, 15]
>>> nums[2:5]
[12, 13, 14]

在Python中,使用赋值语句将列表a赋值给列表b,其实只是简单的对象引用,a和b指向的是同一片内存区域,相当于b是a的别名而已

>>> a = [10, 11, 12, 13]
>>> b = a
>>> a is b
True
>>> a[1] = 88
>>> a
[10, 88, 12, 13]
>>> b
[10, 88, 12, 13]

复制列表,要真正的将a列表的元素复制给b列表,而不是引用,需要使用方法 list.copy(list) 

>>> a = [10, 11, 12, 13]
>>> b = a.copy()
>>> a is b
False
>>> a[1] = 88
>>> a
[10, 88, 12, 13]
>>> b
[10, 11, 12, 13]

清空列表,方法 list.clear() 清空列表元素

>>> fruits = ['apple','banana','mango','orange','pear']
>>> fruits.clear()
>>> fruits
[]
Andraw|朱标
原文地址:https://www.cnblogs.com/zhubiao/p/9396133.html