Lists
Python中最基本的数据结构是sequence 。 序列的每个元素都被赋予一个数字 - 它的位置或索引。 第一个索引为零,第二个索引为1,依此类推。
Python有六种内置类型的序列,但最常见的是列表和元组,我们将在本教程中看到。
您可以对所有序列类型执行某些操作。 这些操作包括索引,切片,添加,乘法和检查成员资格。 此外,Python还具有内置函数,用于查找序列的长度以及查找其最大和最小元素。
Python Lists
该列表是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]
Note - 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]
Note - remove()方法将在后续章节中讨论。
基本清单操作
列表对+和*运算符的响应非常类似于字符串; 它们也意味着连接和重复,除了结果是新列表,而不是字符串。
实际上,列表响应了我们在前一章中对字符串使用的所有通用序列操作。
Python表达式 | 结果 | 描述 |
---|---|---|
len([1, 2, 3]) | 3 | Length |
[1,2,3] + [4,5,6] | [1, 2, 3, 4, 5, 6] | Concatenation |
['嗨!'] * 4 | ['Hi!', 'Hi!', 'Hi!', 'Hi!'] | Repetition |
[1,2,3]中的3 | True | Membership |
对于[1,2,3]中的x:print x, | 1 2 3 | Iteration |
索引,切片和矩阵
因为列表是序列,所以索引和切片对列表的工作方式与对字符串的工作方式相同。
假设以下输入 -
L = ['spam', 'Spam', 'SPAM!']
Python表达式 | 结果 | 描述 |
---|---|---|
L[2] | SPAM! | Offsets start at zero |
L[-2] | Spam | 否定:从右边算起 |
L[1:] | ['Spam', 'SPAM!'] | Slicing fetches sections |
内置列表功能和方法
Python包括以下列表函数 -
Sr.No. | 具有描述的功能 |
---|---|
1 | cmp(list1, list2) 比较两个列表的元素。 |
2 | len(list) 给出列表的总长度。 |
3 | max(list) 从列表中返回具有最大值的项目。 |
4 | min(list) 使用最小值返回列表中的项目。 |
5 | list(seq) 将元组转换为列表。 |
Python包括以下列表方法
Sr.No. | 带描述的方法 |
---|---|
1 | list.append(obj) 将对象obj追加到列表中 |
2 | list.count(obj) 返回obj在列表中出现的次数 |
3 | list.extend(seq) 将seq的内容追加到列表中 |
4 | list.index(obj) 返回obj出现的列表中的最低索引 |
5 | list.insert(index, obj) 在offset索引处将对象obj插入到列表中 |
6 | list.pop(obj=list[-1]) 从列表中删除并返回最后一个对象或obj |
7 | list.remove(obj) 从列表中删除对象obj |
8 | list.reverse() 反转列表对象 |
9 | list.sort([func]) 对列表对象进行排序,如果给出则使用compare func |