在 Python 中,各种数据类型的序列被存储在列表中。列表是一种包含不同类型的值或项的集合。由于 Python 列表是可变的,我们可以在形成后更改它们的元素。逗号(,)和方括号([])用作分隔符来包围列表的项。

尽管有六种 Python 数据类型可以保存序列,但列表是最常见和可靠的形式。列表是一种序列数据类型,用于存储数据的集合。元组(Tuples)和字符串(Strings)是两种类似的序列数据格式。

在 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 索引是第二个元素存储的位置,依此类推。

1.png

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

list_varible(start:stop:step)    
  • start 表示列表的起始记录位置。
  • stop 表示列表的最后记录位置。
  • step 在 start 内用于跳过第 n 个元素:stop。

start 参数是初始索引,step 是结束索引,end 参数的值是要“步进”的元素数量。如果没有特定的值,默认情况下,步进的默认值为 1。在结果子列表内,具有相同起始记录的元素将可用,但具有文件结束的元素将不可用。列表中的第一个元素似乎具有索引为零。

考虑以下示例:

代码

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 表示左侧的下一个元素,依此类推,直到到达左侧的最后一个元素。

2.png

让我们看一下以下示例,我们将使用负索引访问列表的元素。

代码

# 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. 重复
  2. 连接
  3. 长度
  4. 迭代
  5. 成员检测

让我们看看列表如何响应各种运算符。

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 - in 循环可以对列表元素进行迭代。

代码

# 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() 函数向列表添加新项。另外,append() 函数还可以将项目附加到列表末尾。

考虑下面的示例,其中我们从用户处获取列表的元素,并将列表打印在控制台上。

代码

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

  1. len()
  2. max()
  3. 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

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

标签: Tkinter教程, Tkinter安装, Tkinter库, Tkinter入门, Tkinter学习, Tkinter入门教程, Tkinter, Tkinter进阶, Tkinter指南, Tkinter学习指南, Tkinter进阶教程, Tkinter编程