Python3 - Lists(列表)

Python3 - Lists(列表) 首页 / Python3入门教程 / Python3 - Lists(列表)

Python中的列表(Lists)用于存储各种类型的数据的序列。 Python列表是可变类型,这意味着无涯教程可以在创建后修改其元素。但是,Python由六种能够存储序列的数据类型组成,但是最常见和可靠的类型是列表。

列表可以定义为不同类型的值或项目的集合。列表中的项目用逗号(,)分隔,并用方括号[]括起来。

列表可以定义如下

L1 = ["Learnfk", 102, "USA"]  
L2 = [1, 2, 3, 4, 5, 6] 

如果尝试使用type()函数打印L1,L2和L3的类型,那么它将显示为列表。

print(type(L1))
print(type(L2))

输出:

<class 'list'>
<class 'list'>

列表的特征

该列表具有以下特征:

链接:https://www.learnfk.comhttps://www.learnfk.com/python3/python-lists.html

来源:LearnFk无涯教程网

  • 列表已排序。
  • 列表中的元素可以按索引访问。
  • 列表是可变类型。
  • 列表可以存储各种元素的数量。

让无涯教程检查列表是有序的第一条语句。

a = [1,2,"Peter",4.50,"Ricky",5,6]
b = [1,2,5,"Peter",4.50,"Ricky",6]
a ==b

输出:

False

两个列表都由相同的元素组成,但是第二个列表更改了第5个元素的索引位置,这违反了列表的顺序。比较两个列表时,它返回false。

列表在生命周期内维持元素的顺序。这就是为什么它是对象的有序集合。

a = [1, 2,"Peter", 4.50,"Ricky",5, 6]
b = [1, 2,"Peter", 4.50,"Ricky",5, 6]
a == b

输出:

True

详细看一下列表示例。

emp = ["Learnfk", 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 : Learnfk, 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'>

在上面的示例中,创建了包含员工和部门详细信息的列表,并打印了相应的详细信息。观察上面的代码,以更好地了解列表的概念。

索引和拆分

索引的处理方式与字符串处理方式相同。可以使用slice运算符[]访问列表中的元素。

索引从0开始,到长度-1。列表的第一个元素存储在第0个索引,列表的第二个元素存储在第一个索引,依此类推。

Python Lists

可以使用以下语法获取列表的子列表。

list_varible(start:stop:step)
  • start  -  表示列表的开始索引位置。
  • stop   -  表示列表的最后索引位置。
  • step   -  用于跳过 start:stop 中的第n个元素

考虑以下示例:

list = [1,2,3,4,5,6,7]
print(list[0])
print(list[1])
print(list[2])
print(list[3])
# 切割元素
print(list[0:6])
# 默认情况下,索引值为0,因此它从0个元素开始,然后转到索引-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处,依此类推,直到遇到最左侧的元素。

Python Lists

看下面的示例,在该示例中,将使用负索引来访问列表的元素。

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]

如上所述,可以使用负索引来获取元素。在上面的代码中,第一个print语句返回了列表的最右边的元素。第二个打印语句返回子列表,依此类推。

更新列表值

列表是Python中用途最广泛的数据结构,因为它们是可变的,并且可以使用slice和赋值运算符来更新其值。

Python还提供了append()和insert()方法,可用于将值添加到列表中。

考虑下面的示例来更新列表中的值。

list = [1, 2, 3, 4, 5, 6]   
print(list)   
# 它将将值分配给第二索引的值
list[2] = 10 
print(list)  
# 添加多元素
list[1:3] = [89, 78]   
print(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)   
# 它将将值分配给第二索引的值
list[2] = 10 
print(list)  
# 添加多个元素
list[1:3] = [89, 78]   
print(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]

迭代列表

可以使用for-in循环来迭代列表。一个包含四个字符串的简单列表,可以按如下方式进行迭代。

list = ["Learnfk", "David", "James", "Jonathan"]  
for i in list: 
    # I变量将迭代列表的元素,并包含每个迭代中的每个元素。 
    print(i)

输出:

Learnfk
David
James
Jonathan

添加元素

Python提供了append()函数,该函数用于将元素添加到列表中。但是,append()函数只能将值添加到列表的末尾。

考虑以下示例,在该示例中,无涯教程从用户那里获取列表的元素,并将该列表打印在控制台上。

#声明空列表
l =[]
#用户将输入元素数
n = int(input("Enter the number of elements in the list:"))
# 根据输入进行循环
for i in range(0,n):   
    #输入从用户输入并添加到列表中作为项目
    l.append(input("Enter the item:"))   
print("printing the list items..") 
# 打印列表项的遍历循环
for i in l: 
    print(i, end = "  ")   

输出:

Enter the number of elements in the list:5
Enter the item:25
Enter the item:46
Enter the item:12
Enter the item:75
Enter the item:42
printing the list items
25  46  12  75  42  

删除元素

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提供了以下内置函数,可与列表一起使用。

SNFunctionDescriptionExample
1cmp(list1, list2)它比较两个列表的元素。在Python 3和更高版本中未使用此方法。
2len(list)它用于计算列表的长度。
L1 = [1,2,3,4,5,6,7,8]
print(len(L1))
    8
3max(list)它返回列表的最大元素。
L1 = [12,34,26,48,72]
print(max(L1))
72
4min(list)它返回列表的最小元素。
L1 = [12,34,26,48,72]
print(min(L1))
12
5list(seq)它将任何序列转换为列表。
str = "Learnfkson"
s = list(str)
print(type(s))
<class list>

让无涯教程看几个列表示例。

示例:1-编写程序以删除列表中的重复元素。

list1 = [1,2,2,3,55,98,65,65,13,29]
# 声明将存储唯一值的空列表
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

示例: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

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

程序员的数学基础课 -〔黄申〕

Kafka核心技术与实战 -〔胡夕〕

雷蓓蓓的项目管理实战课 -〔雷蓓蓓〕

小马哥讲Spring核心编程思想 -〔小马哥〕

正则表达式入门课 -〔涂伟忠〕

手机摄影 -〔@随你们去〕

基于人因的用户体验设计课 -〔刘石〕

零基础实战机器学习 -〔黄佳〕

说透低代码 -〔陈旭〕

好记忆不如烂笔头。留下您的足迹吧 :)