Python 列表

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

Python 列表

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

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

Python 列表

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

代码

# 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循环用于遍历列表元素。

代码

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

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

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程