实现python中的List以存储各种类型数据的序列。但是,python包含六种能够存储序列的数据类型,但最常见和可靠的类型是列表。
列表可以定义为值集合或不同类型的项目。列表中的项目用逗号(,)分隔,并用方括号[]括起来。
列表可以定义如下:
L1 = ["John", 102, "USA"]
L2 = [1, 2, 3, 4, 5, 6]
L3 = [1, "Ryan"]
如果我们尝试打印L1,L2和L3的类型,那么它将成为一个列表。
让我们考虑一个合适的例子来定义一个列表并打印它的值。
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\nDepartment 2:\nName: %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
列出索引和拆分
索引的处理方式与字符串的处理方式相同。可以使用切片运算符[]访问列表的元素。
索引从0开始并转到长度 - 1.列表的第一个元素存储在第0个索引处,列表的第二个元素存储在第1个索引处,依此类推。
请参考下图:
与其他语言不同,python为我们提供了使用否定索引的灵活性。负指数从右侧计算。列表的最后一个元素(最右边)具有索引-1,其相邻的左元素出现在索引-2处,依此类推,直到遇到最左边的元素。
更新列表值
列表是python中最通用的数据结构,因为它们是不可变的,并且可以使用切片和赋值运算符更新它们的值。
Python还为我们提供了append()方法,该方法可用于向字符串添加值。
请考虑以下示例来更新列表中的值。
List = [1, 2, 3, 4, 5, 6]
print(List)
List[2] = 10;
print(List)
List[1:3] = [89, 78]
print(List)
输出:
[1,2,3,4,5,6]
[1,2,10,4,5,6]
[1,89,78,4,5,6]
也可以使用del关键字删除列表元素。如果我们不知道要从列表中删除哪个元素,Python还为我们提供了remove()方法。
请根据以下示例来学习删除列表元素。
List = [0,1,2,3,4]
print(List)
del List[0]
print(List)
del List[3]
print(List)
输出:
[0,1,2,3,4]
[1,2,3,4]
[1,2,3]
Python列表操作
串联(+)和重复(*)运算符的工作方式与处理字符串的方式相同。
让我们看看列表如何处理运算符:
假设列表 l1 = [1, 2, 3, 4], l2 = [5, 6, 7, 8]
操作符描述示例
重复重复运算符使列表元素能够重复多次。L1 * 2 = [1,2,3,4,1,2,3,4]
级联它连接运算符两侧提到的列表。l1 + l2 = [1,2,3,4,5,6,7,8]
籍如果特定列表中存在特定项目,则返回true,否则返回false。print(l1中的2)打印True。
迭代for循环用于迭代列表元素。for i in l1:
print(i)
输出:
1
2
3
4
长度它用于获取列表的长度len(l1) = 4
迭代列表
可以使用for-in循环迭代列表。包含四个字符串的简单列表可以如下迭代。
List = ["John", "David", "James", "Jonathan"]
for i in List: #i will iterate over the elements of the List and contains each element in each iteration.
print(i);
Output:
John
David
James
Jonathan
将元素添加到列表中
Python提供了append()函数,我们可以使用它来向列表添加元素。但是,append()方法只能将值添加到列表的末尾。
考虑以下示例,其中,我们从用户获取列表的元素并在控制台上打印列表。
l =[];
n = int(input("Enter the number of elements in the list")); #Number of elements will be entered by the user
for i in range(0,n): # for loop to take the input
l.append(input("Enter the item?")); # The input is taken from the user and added to the list as the item
print("printing the list items....");
for i in l: # traversal loop to print the list items
print(i, end = " ");
Output:
Enter the number of elements in the list 5
Enter the item?1
Enter the item?2
Enter the item?3
Enter the item?4
Enter the item?5
printing the list items....
1 2 3 4 5
从列表中删除元素
List = [0,1,2,3,4]
print("printing original list: ");
for i in List:
print(i,end=" ")
List.remove(0)
print("\nprinting the list after the removal of first element...")
for i in List:
print(i,end=" ")
Output:
printing original list:
0 1 2 3 4
printing the list after the removal of first element...
1 2 3 4
Python列表内置函数
Python提供了以下内置函数,可以与列表一起使用。
SN函数描述
1cmp(list1, list2)它比较了两个列表的元素。
2len(list)它用于计算列表的长度。
3max(list)它返回列表的最大元素。
4min(list)它返回列表的最小元素。
5list(seq)它将任何序列转换为列表。
Python List内置方法
SN函数描述
1list.append(OBJ)对象obj表示的元素被添加到列表中。
2list.clear()它会从列表中删除所有元素。
3List.copy()它返回列表的浅表副本。
4list.count(OBJ)它返回列表中指定对象的出现次数。
5list.extend(SEQ)对象seq表示的序列扩展到列表。
6list.index(OBJ)它返回对象出现的列表中的最低索引。
7list.insert(index,obj)该对象将插入到指定索引的列表中。
8list.pop(OBJ =列表[-1])它删除并返回列表的最后一个对象。
9list.remove(OBJ)它从列表中删除指定的对象。
10list.reverse()它颠倒了清单。
11list.sort([FUNC])如果给定,它使用指定的比较函数对列表进行排序。