Python 列表
在Python中,各种数据类型的序列存储在一个列表中。列表是一组不同类型的值或项目的集合。由于Python列表是可变的,我们可以在形成后更改它们的元素。逗号(,)和方括号[用于包围列表的项目]作为分隔符。
虽然六个Python数据类型可以保存序列,但列表是最常见和可靠的形式。列表是一种序列数据类型,用于存储数据的集合。元组和字符串是两种类似的序列数据格式。
在Python中编写的列表与其他语言中定义的动态缩放数组完全相同,例如Java中的ArrayList和C++中的Vector。列表是一组由逗号分隔的项目,并由符号[]表示。
列表声明
代码
# a simple list
list1 = [1, 2, "Python", "Program", 15.9]
list2 = ["Amy", "Ryan", "Henry", "Emma"]
# printing the list
print(list1)
print(list2)
# printing the type of list
print(type(list1))
print(type(list2))
输出:
[1, 2, 'Python', 'Program', 15.9]
['Amy', 'Ryan', 'Henry', 'Emma']
< class ' list ' >
< class ' list ' >
列表的特点
列表的特点如下:
- 列表是有序的。
- 可以通过索引访问列表元素。
- 列表是可变类型的。
- 列表是可更改的数据类型。
- 列表可以存储各种元素的数量。
有序列表检查
代码
# example
a = [ 1, 2, "Ram", 3.50, "Rahul", 5, 6 ]
b = [ 1, 2, 5, "Ram", 3.50, "Rahul", 6 ]
a == b
结果:
False
这两个记录中的组件是相同的;然而,由于第二个列表中的稍后的元素改变了文件的位置,这与列表的预期顺序不符合。当比较这两个列表时,返回false。
代码
# example
a = [ 1, 2, "Ram", 3.50, "Rahul", 5, 6]
b = [ 1, 2, "Ram", 3.50, "Rahul", 5, 6]
a == b
输出:
True
记录永远保护组件的结构。因此,它是一组事物的分类集合。
让我们更仔细地看一下列表示例。
代码
# list example in detail
emp = [ "John", 102, "USA"]
Dep1 = [ "CS",10]
Dep2 = [ "IT",11]
HOD_CS = [ 10,"Mr. Holding"]
HOD_IT = [11, "Mr. Bewon"]
print("printing employee data ...")
print(" Name : %s, ID: %d, Country: %s" %(emp[0], emp[1], emp[2]))
print("printing departments ...")
print("Department 1:\nName: %s, ID: %d\n Department 2:\n Name: %s, ID: %s"%( Dep1[0], Dep2[1], Dep2[0], Dep2[1]))
print("HOD Details ....")
print("CS HOD Name: %s, Id: %d" %(HOD_CS[1], HOD_CS[0]))
print("IT HOD Name: %s, Id: %d" %(HOD_IT[1], HOD_IT[0]))
print(type(emp), type(Dep1), type(Dep2), type(HOD_CS), type(HOD_IT))
输出:
printing employee data...
Name : John, ID: 102, Country: USA
printing departments...
Department 1:
Name: CS, ID: 11
Department 2:
Name: IT, ID: 11
HOD Details ....
CS HOD Name: Mr. Holding, Id: 10
IT HOD Name: Mr. Bewon, Id: 11
<class ' list '> <class ' list '> <class ' list '> <class ' list '> <class ' list '>
在上图中,我们打印了已创建的列表中的员工和部门特定的细节。为了更好地理解列表的概念,请查看上面的代码。
列表索引和拆分
索引过程类似于字符串处理。切片运算符[]可以用来访问列表的元素。
索引范围是从0到长度-1。第0个索引是列表中存储的第一个元素;第1个索引是存储第二个元素的位置,依此类推。
我们可以使用以下语法获取列表的子列表。
list_varible(start:stop:step)
- 开始指示快速查询的开始记录位置。
- 停止表示快速查询的最后记录位置。
- 在开始内部,步骤用于跳过第n个元素:停止。
开始参数是初始索引,步骤是结束索引,结束参数的值是“跨越”的元素数。步骤的默认值为一,没有具体值。在结果子列表中,与记录开始一样可用,但与文件完成的不同。列表中的第一个元素似乎具有索引零。
考虑以下示例:
代码
list = [1,2,3,4,5,6,7]
print(list[0])
print(list[1])
print(list[2])
print(list[3])
# Slicing the elements
print(list[0:6])
# By default, the index value is 0 so its starts from the 0th element and go for index -1.
print(list[:])
print(list[2:5])
print(list[1:6:2])
输出:
1
2
3
4
[1, 2, 3, 4, 5, 6]
[1, 2, 3, 4, 5, 6, 7]
[3, 4, 5]
[2, 4, 6]
与其他编程语言不同,Python允许使用负索引。负索引从右边计数。索引-1表示列表右侧的最后一个元素,接着是索引-2表示左侧的下一个成员,依此类推,直到到达左侧的最后一个元素。
让我们来看一个示例,我们将使用负数索引来访问列表的元素。
代码
# negative indexing example
list = [1,2,3,4,5]
print(list[-1])
print(list[-3:])
print(list[:-1])
print(list[-3:-1])
输出:
5
[3, 4, 5]
[1, 2, 3, 4]
[3, 4]
负索引允许我们获取元素,如前面提到的。在上面的代码中,首个打印语句返回了列表中最右边的项。第二个打印语句返回了子列表,以此类推。
更新列表值
由于列表的可变性和切片和赋值运算符的能力可以更新它们的值,列表是Python中最适应的数据结构。Python的append()和insert()方法也可以向列表中添加值。
考虑以下示例来更新列表中的值。
代码
# updating list values
list = [1, 2, 3, 4, 5, 6]
print(list)
# It will assign value to the value to the second index
list[2] = 10
print(list)
# Adding multiple-element
list[1:3] = [89, 78]
print(list)
# It will add value at the end of the list
list[-1] = 25
print(list)
输出:
[1, 2, 3, 4, 5, 6]
[1, 2, 10, 4, 5, 6]
[1, 89, 78, 4, 5, 6]
[1, 89, 78, 4, 5, 25]
列表元素还可以通过使用 del 关键字删除。如果我们不知道要从列表中删除哪个元素,Python还提供了 remove() 方法。
考虑以下示例来删除列表元素。
代码
list = [1, 2, 3, 4, 5, 6]
print(list)
# It will assign value to the value to second index
list[2] = 10
print(list)
# Adding multiple element
list[1:3] = [89, 78]
print(list)
# It will add value at the end of the list
list[-1] = 25
print(list)
输出:
[1, 2, 3, 4, 5, 6]
[1, 2, 10, 4, 5, 6]
[1, 89, 78, 4, 5, 6]
[1, 89, 78, 4, 5, 25]
Python列表操作
连接(+
)和重复(*
)运算符与字符串一样工作。列表的不同操作包括:
- 重复
- 连接
- 长度
- 迭代
- 成员
让我们看看列表如何对各种运算符作出响应。
1. 重复
冗余管理员使列表元素重复多次。
代码
# repetition of list
# declaring the list
list1 = [12, 14, 16, 18, 20]
# repetition operator *
l = list1 * 2
print(l)
输出:
[12, 14, 16, 18, 20, 12, 14, 16, 18, 20]
2. 字符串连接
它将运算符两边的字符串列表连接在一起。
代码
# concatenation of two lists
# declaring the lists
list1 = [12, 14, 16, 18, 20]
list2 = [9, 10, 32, 54, 86]
# concatenation operator +
l = list1 + list2
print(l)
输出:
[12, 14, 16, 18, 20, 9, 10, 32, 54, 86]
3. 长度
用于获取列表的长度
代码
# size of the list
# declaring the list
list1 = [12, 14, 16, 18, 20, 23, 27, 39, 40]
# finding length of the list
len(list1)
输出:
9
4. 迭代
for循环用于遍历列表元素。
代码
# iteration of the list
# declaring the list
list1 = [12, 14, 16, 39, 40]
# iterating
for i in list1:
print(i)
输出:
12
14
16
39
40
5. 成员资格
它返回 true,如果一个特定的项目存在于一个特定的列表中,否则返回 false。
代码
# membership of the list
# declaring the list
list1 = [100, 200, 300, 400, 500]
# true will be printed if value exists
# and false if not
print(600 in list1)
print(700 in list1)
print(1040 in list1)
print(300 in list1)
print(100 in list1)
print(500 in list1)
输出:
False
False
False
True
True
True
迭代一个列表
可以使用for-in循环迭代一个列表。一个简单的包含四个字符串的列表可以按照以下方式进行迭代。
代码
# iterating a list
list = ["John", "David", "James", "Jonathan"]
for i in list:
# The i variable will iterate over the elements of the List and contains each element in each iteration.
print(i)
输出:
John
David
James
Jonathan
添加元素到列表
Python中的append()函数可以将一个新项添加到列表中。无论如何,annex()功能可以增加列表的结束。
考虑下面的示例,我们从用户那里获取列表的元素并将列表打印到控制台上。
代码
#Declaring the empty list
l =[]
#Number of elements will be entered by the user
n = int(input("Enter the number of elements in the list:"))
# for loop to take the input
for i in range(0,n):
# The input is taken from the user and added to the list as the item
l.append(input("Enter the item:"))
print("printing the list items..")
# traversal loop to print the list items
for i in l:
print(i, end = " ")
输出:
Enter the number of elements in the list:10
Enter the item:32
Enter the item:56
Enter the item:81
Enter the item:2
Enter the item:34
Enter the item:65
Enter the item:09
Enter the item:66
Enter the item:12
Enter the item:18
printing the list items..
32 56 81 2 34 65 09 66 12 18
从列表中删除元素
Python中的remove()函数可以从列表中删除一个元素。为了理解这个概念,看一下接下来的示例。
示例 –
代码
list = [0,1,2,3,4]
print("printing original list: ");
for i in list:
print(i,end=" ")
list.remove(2)
print("\nprinting the list after the removal of first element...")
for i in list:
print(i,end=" ")
输出:
printing original list:
0 1 2 3 4
printing the list after the removal of first element...
0 1 3 4
Python列表内置函数
Python提供了以下内置函数,可与列表一起使用。
- len()
- max()
- min()
len()
用于计算列表的长度。
代码
# size of the list
# declaring the list
list1 = [12, 16, 18, 20, 39, 40]
# finding length of the list
len(list1)
输出:
6
max( )
它返回列表的最大元素
代码
# maximum of the list
list1 = [103, 675, 321, 782, 200]
# large element in the list
print(max(list1))
输出结果:
782
min()
它返回列表中的最小元素
代码
# minimum of the list
list1 = [103, 675, 321, 782, 200]
# smallest element in the list
print(min(list1))
输出:
103
让我们来看一下一些列表的例子。
示例:1- 创建一个程序来消除列表中的重复项。
代码
list1 = [1,2,2,3,55,98,65,65,13,29]
# Declare an empty list that will store unique values
list2 = []
for i in list1:
if i not in list2:
list2.append(i)
print(list2)
输出:
[1, 2, 3, 55, 98, 65, 13, 29]
示例:2- 编写程序以追踪清单中组件的数量。
代码
list1 = [3,4,5,9,10,12,24]
sum = 0
for i in list1:
sum = sum+i
print("The sum is:",sum)
输出:
The sum is: 67
In [8]:
示例:3- 编写程序以找到包含至少一个平均元素的运行记录。
代码
list1 = [1,2,3,4,5,6]
list2 = [7,8,9,2,10]
for x in list1:
for y in list2:
if x == y:
print("The common element is:",x)
输出:
The common element is: 2