📜  Python列表

📅  最后修改于: 2020-12-23 05:14:55             🧑  作者: Mango


Python最基本的数据结构是序列。序列的每个元素都分配有一个数字-其位置或索引。第一个索引为零,第二个索引为1,依此类推。

Python有六种内置的序列类型,但是最常见的是列表和元组,我们将在本教程中看到它们。

您可以对所有序列类型执行某些操作。这些操作包括索引,切片,加,乘和检查成员资格。另外, Python具有内置函数,用于查找序列的长度以及查找其最大和最小元素。

Python列表

该列表是Python最通用的数据类型,可以将其写成方括号之间的逗号分隔值(项目)列表。关于列表的重要事项是列表中的项目不必是同一类型。

创建列表就像在方括号之间放置不同的逗号分隔值一样简单。例如-

list1 = ['physics', 'chemistry', 1997, 2000];
list2 = [1, 2, 3, 4, 5 ];
list3 = ["a", "b", "c", "d"]

与字符串索引相似,列表索引从0开始,并且列表可以被切片,连接等。

访问列表中的值

要访问列表中的值,请使用方括号将一个或多个索引切片,以获取该索引处可用的值。例如-

#!/usr/bin/python

list1 = ['physics', 'chemistry', 1997, 2000];
list2 = [1, 2, 3, 4, 5, 6, 7 ];
print "list1[0]: ", list1[0]
print "list2[1:5]: ", list2[1:5]

执行以上代码后,将产生以下结果-

list1[0]:  physics
list2[1:5]:  [2, 3, 4, 5]

更新清单

您可以通过在赋值运算符的左侧提供切片来更新列表中的单个或多个元素,还可以使用append()方法将其添加到列表中的元素。例如-

#!/usr/bin/python

list = ['physics', 'chemistry', 1997, 2000];
print "Value available at index 2 : "
print list[2]
list[2] = 2001;
print "New value available at index 2 : "
print list[2]

注意-在后续部分中将讨论append()方法。

执行以上代码后,将产生以下结果-

Value available at index 2 :
1997
New value available at index 2 :
2001

删除列表元素

要删除列表元素,可以使用del语句(如果您确切知道要删除的元素)或使用remove()方法(如果您不知道)。例如-

#!/usr/bin/python

list1 = ['physics', 'chemistry', 1997, 2000];
print list1
del list1[2];
print "After deleting value at index 2 : "
print list1

执行以上代码后,将产生以下结果-

['physics', 'chemistry', 1997, 2000]
After deleting value at index 2 :
['physics', 'chemistry', 2000]

注意-remove()方法将在后续章节中讨论。

基本列表操作

列表响应+和*运算符就像字符串;它们在这里也意味着串联和重复,只是结果是一个新列表,而不是字符串。

实际上,列表响应了我们在上一章中对字符串使用的所有常规序列操作。

Python Expression Results Description
len([1, 2, 3]) 3 Length
[1, 2, 3] + [4, 5, 6] [1, 2, 3, 4, 5, 6] Concatenation
[‘Hi!’] * 4 [‘Hi!’, ‘Hi!’, ‘Hi!’, ‘Hi!’] Repetition
3 in [1, 2, 3] True Membership
for x in [1, 2, 3]: print x, 1 2 3 Iteration

索引,切片和矩阵

因为列表是序列,所以索引和切片对列表的工作方式与对字符串的工作方式相同。

假设以下输入-

L = ['spam', 'Spam', 'SPAM!']
Python Expression Results Description
L[2] SPAM! Offsets start at zero
L[-2] Spam Negative: count from the right
L[1:] [‘Spam’, ‘SPAM!’] Slicing fetches sections

内置列表功能和方法

Python包含以下列表函数-

Sr.No. Function with Description
1 cmp(list1, list2)

Compares elements of both lists.

2 len(list)

Gives the total length of the list.

3 max(list)

Returns item from the list with max value.

4 min(list)

Returns item from the list with min value.

5 list(seq)

Converts a tuple into list.

Python包含以下列表方法

Sr.No. Methods with Description
1 list.append(obj)

Appends object obj to list

2 list.count(obj)

Returns count of how many times obj occurs in list

3 list.extend(seq)

Appends the contents of seq to list

4 list.index(obj)

Returns the lowest index in list that obj appears

5 list.insert(index, obj)

Inserts object obj into list at offset index

6 list.pop(obj=list[-1])

Removes and returns last object or obj from list

7 list.remove(obj)

Removes object obj from list

8 list.reverse()

Reverses objects of list in place

9 list.sort([func])

Sorts objects of list, use compare func if given