6-3、Python 数据类型-列表

简介: 学习了解Python 数据类型-列表。

列表介绍


列表是Python中最基本也是最常用的数据结构之一。列表中的每个元素都被分配一个数字作为索引,用来表示该元素在列表内所排在的位置。第一个元素的索引是0,第二个索引是1,依此类推。


Python的列表是一个有序可重复的元素集合,可嵌套、迭代、修改、分片、追加、删除,成员判断。


从数据结构角度看,Python的列表是–个可变长度的顺序存储结构,每一个位置存放的都是对象的指针。


python中,用[]类定义列表

>>> list1= [1,2,3,4,5]
>>> list1
[1, 2, 3, 4, 5]
>>> list2= [1,2,3,1,2]  # 可重复
>>> list2
[1, 2, 3, 1, 2]
>>> list3= [1,2,3,[4,5]] # 可嵌套 二维列表
>>> list3
[1, 2, 3, [4, 5]]
>>> 

创建方式


创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可。

list = []   #定义空列表
list1 = [ 'physics', 1997,2000]
list2 = [1, 2,3]
list3 = ["a", "b", "C"]

列表内的元素


列表从0开始为它的每一个元素顺序创建下标索引,直到总长度减一。要访问它的某个元素,以方括号加下标值的方式即可。注意要确保索引不越界,一旦访问的索引超过范围,会抛出异常。所以,一定要记得最后一个元素的索引是len(list)-1。


查看列表元素

>>> list3= [1,2,3,[4,5]]
>>> list3[3][1] # 二维列表先取到[4,5]得到一维列表,在从一维列表取到5
5
>>> 

修改元素的值


直接对元素进行重新赋值。

>>> list3= [1,2,3,[4,5]]
>>> list3[3][1]='a'
>>> list3
[1, 2, 3, [4, 'a']]
>>> 

删除元素


使用del语句或者remove(),pop()方 法删除指定的元素。

>>> list3= [1,2,3,[4,5]]
>>> del list3[0]  # 直接删
>>> list3
[2, 3, [4, 5]]
>>> 
>>> list3.remove(2)  # 删除一个值为2的元素
>>> list3
[3, [4, 5]]
>>> 
>>> list3= [1,2,3,[4,5]]
>>> list3.pop(1)  # pop 删除指定位置上的元素
2
>>> list3
[1, 3, [4, 5]]
>>> list3.pop()  # pop 不指定的时候默认从最后一个元素删
[4, 5]
>>> list3
[1, 3]
>>> 

列表的特殊操作


1)列表组合

>>> list1 = [1,2,3]
>>> list2 = [4,5,6]
>>> list1+list2
[1, 2, 3, 4, 5, 6]
>>> list3 = list1 + list2
>>> list3
[1, 2, 3, 4, 5, 6]
>>> 


2)列表的乘法

>>> list1 = [1,2,3]
>>> list1 * 2
[1, 2, 3, 1, 2, 3]  # 重复
>>> 


3)判断元素是否在列表内部

>>> list1 = [1,2,3]
>>> list1
[1, 2, 3]
>>> 1 in list1
True
>>> 5 in list1
False


4)迭代列表中的每个元素


该操作符依次访问列表中的所有元素,按照列表中元素的顺序依次来访问。第一次访问列表中的第一个元素,第二次访问列表中的第二个元素,循环执行直到访问完最后一个元素。如果列表为空,该操作也是合法的,但是不会执行循环内的代码。

>>> list1 = [1,2,3]
>>> for i in list1:  # 遍历所有元素
  print(i)         # 打印输出这些元素的值
1                    # 按顺序输出各个元素


列表的常用函数


**len(list)**返回列表元素个数,也就是获取列表长度

**max(list)**返回列表元素最大值

**min(list)**返回列表元素最小值

**list(seq)**将序列转换为列表

>>> list1= [1,2,3,4,5,6]
>>> len(list1)
6
>>> max(list1)
6
>>> min(list1)
1
>>> a = (1,2) # 元组
>>> a
(1, 2)
>>> list(a)
[1, 2]


**reverse()**颠倒顺序反转

>>> list1= [1,2,3,4,5,6]
>>> list1.reverse()   # 修改了原列表
>>> list1
[6, 5, 4, 3, 2, 1]
>>> 


sort() 排序

>>> list2 = [1,2,3,20,19,5]
>>> list2.sort()
>>> list2
[1, 2, 3, 5, 19, 20]
>>> list2.sort(reverse=True) # 降序
>>> list2
[20, 19, 5, 3, 2, 1]
>>> 


列表的切片


切片指的是对序列进行截取,选取序列中的某一段。

切片的语法是: list[start:end]


和字符串中的切片类似

>>> list3 = [1,2,3,4,5]
>>> list3[2:4]
[3, 4]
>>> list3[0:4:2]  
[1, 3]
>>> list3[::-1]
[5, 4, 3, 2, 1]
>>>  
>>> list5= [1,2,3,4,5,6,7,8,9,10,11,12]
>>> list5[2::4] # 起始位置: 终止位置: 步长:
[3, 7, 11]
>>> list5[2:4]
[3, 4]
>>> 


列表的内置方法

append(obj) 在列表末尾添加新的对象

>>> list3 = [1,2,3,4,5]
>>> list3[2:4]
[3, 4]
>>> list3[0:4:2]  
[1, 3]
>>> list3[::-1]
[5, 4, 3, 2, 1]
>>>  
>>> list5= [1,2,3,4,5,6,7,8,9,10,11,12]
>>> list5[2::4] # 起始位置: 终止位置: 步长:
[3, 7, 11]
>>> list5[2:4]
[3, 4]
>>> 


count(obj) 统计某个元素在列表中出现的次数

>>> list6 = [1,2,3,4,5,77,5,5]
>>> list6.count(5)  # 统计某个元素在列表中出现的次数
3
>>> 


extend(seq) 在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)

>>> list6 = [1,2,3,4,5,77,5,5]
>>> list6.extend(['a','b'])
>>> list6
[1, 2, 3, 4, 5, 77, 5, 5, 'a', 'b']
>>> list6.append(['c','d'])
>>> list6
[1, 2, 3, 4, 5, 77, 5, 5, 'a', 'b', ['c', 'd']]
>>> 


index(obj) 从列表中找出某个值第一个匹配项的索引位置

>>> list6 = [1, 2, 3, 4, 5, 77, 5, 5, 'a', 'b', ['c', 'd']]
>>> list6.index(77)


insert(index, obj) 将对象插入列表

>>> list6.insert(3,'A')
>>> list6
[1, 2, 3, 'A', 4, 5, 77, 5, 5, 'a', 'b', ['c', 'd']]
>>> 


pop(obj=list[-1]) 移除列表中的一个元素 (默认最后-个元素),并且返回该元素的值

>>> list6.pop()
['c', 'd']
>>> list6
[1, 2, 3, 'A', 4, 5, 77, 5, 5, 'a', 'b']
>>> 


remove(obj) 移除列表中某个值的第一个匹配项

>>> list6.remove(5)
>>> list6
[1, 2, 3, 'A', 4, 77, 5, 5, 'a', 'b']
>>> 


reverse() 反向列表中元素

>>> list6
[1, 2, 3, 'A', 4, 77, 5, 5, 'a', 'b']
>>> list6.reverse()
>>> list6
['b', 'a', 5, 5, 77, 4, 'A', 3, 2, 1]
>>> 


sort([func]) 对原列表进行排序

>>> list2 = [1,2,3,20,19,5]
>>> list2.sort()
>>> list2
[1, 2, 3, 5, 19, 20]
>>> list2.sort(reverse=True) # 降序
>>> list2
[20, 19, 5, 3, 2, 1]
>>> 


copy() 复制列表

>>> list6
['b', 'a', 5, 5, 77, 4, 'A', 3, 2, 1]
>>> copylist6 = list6.copy()
>>> copylist6
['b', 'a', 5, 5, 77, 4, 'A', 3, 2, 1]
>>> 
clear() 清空列表,等于del list[:]
>>> copylist6.clear()
>>> copylist6
[]
>>> list6
['b', 'a', 5, 5, 77, 4, 'A', 3, 2, 1]
>>> del list6[:]  # 清空列表
>>> list6
[]
>>> del list6  # 删除列表
>>> list6
Traceback (most recent call last):
  File "<pyshell#153>", line 1, in <module>
    list6
NameError: name 'list6' is not defined
>>> 



相关文章
|
2天前
|
C语言 Python
[oeasy]python054_python有哪些关键字_keyword_list_列表_reserved_words
本文介绍了Python的关键字列表及其使用规则。通过回顾`hello world`示例,解释了Python中的标识符命名规则,并探讨了关键字如`if`、`for`、`in`等不能作为变量名的原因。最后,通过`import keyword`和`print(keyword.kwlist)`展示了Python的所有关键字,并总结了关键字不能用作标识符的规则。
21 9
|
10天前
|
数据挖掘 大数据 数据处理
python--列表list切分(超详细)
通过这些思维导图和分析说明表,您可以更直观地理解Python列表切分的概念、用法和实际应用。希望本文能帮助您更高效地使用Python进行数据处理和分析。
23 14
|
12天前
|
数据挖掘 大数据 数据处理
python--列表list切分(超详细)
通过这些思维导图和分析说明表,您可以更直观地理解Python列表切分的概念、用法和实际应用。希望本文能帮助您更高效地使用Python进行数据处理和分析。
29 10
|
20天前
|
Python
Python 中一些常见的数据类型
Python 中一些常见的数据类型
70 8
|
26天前
|
Python
Python中不同数据类型之间如何进行转换?
Python中不同数据类型之间如何进行转换?
25 6
|
26天前
|
存储 开发者 Python
Python 的数据类型
Python 的数据类型
32 6
|
29天前
|
数据处理 开发者 Python
Python中的列表推导式:简洁高效的数据处理
在编程世界中,效率和可读性是代码的两大支柱。Python语言以其独特的简洁性和强大的表达力,为开发者提供了众多优雅的解决方案,其中列表推导式便是一个闪耀的例子。本文将深入探讨列表推导式的使用场景、语法结构及其背后的执行逻辑,带你领略这一特性的魅力所在。
|
1月前
|
开发者 Python
探索Python中的列表推导式:简洁而强大的工具
【10月更文挑战第41天】 在编程的世界中,效率与简洁是永恒的追求。本文将深入探讨Python编程语言中一个独特且强大的特性——列表推导式(List Comprehension)。我们将通过实际代码示例,展示如何利用这一工具简化代码、提升性能,并解决常见编程问题。无论你是初学者还是资深开发者,掌握列表推导式都将使你的Python之旅更加顺畅。
|
1月前
|
Python
探索Python中的列表推导式
【10月更文挑战第38天】本文深入探讨了Python中强大而简洁的编程工具——列表推导式。从基础使用到高级技巧,我们将一步步揭示如何利用这个特性来简化代码、提高效率。你将了解到,列表推导式不仅仅是编码的快捷方式,它还能帮助我们以更加Pythonic的方式思考问题。准备好让你的Python代码变得更加优雅和高效了吗?让我们开始吧!
|
1月前
|
机器学习/深度学习 存储 数据挖掘
Python 编程入门:理解变量、数据类型和基本运算
【10月更文挑战第43天】在编程的海洋中,Python是一艘易于驾驭的小船。本文将带你启航,探索Python编程的基础:变量的声明与使用、丰富的数据类型以及如何通过基本运算符来操作它们。我们将从浅显易懂的例子出发,逐步深入到代码示例,确保即使是零基础的读者也能跟上步伐。准备好了吗?让我们开始吧!
26 0
下一篇
DataWorks