你还在为python中的列表、元组、字典发愁嘛,别愣着了,快来看!

简介: 你还在为python中的列表、元组、字典发愁嘛,别愣着了,快来看!

一、列表


对于列表呢,它是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现。列表的数据项不需要具有相同的类型,创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可。


上面是菜鸟教程的解释,我觉得在这两句话中重要的点如下:

1.使用方括号,元素之间用逗号隔开。对于不同的括号,我觉得python利用的非常到位,几个常用的数据类型括号都不一样,文章最后大家可以总结一下。

2.列表中的数据元素不一定是同种类型。

栗子来了:

list1 = ['physics', 'chemistry', 1997, 2000]

看吧,一个列表里面出现了字符串、数字多种类型。


1.1 访问列表元素

创建完了就来看看怎么访问呢,其实对于这类数据结构,相比接触过编程的小伙伴们都知道访问的方式,没错,就是通过下标索引来访问其中的值!具体怎么操作呢,来了

list1 = ['physics', 'chemistry', 1997, 2000]
list2 = [1, 2, 3, 4, 5, 6, 7 ]
print("list1[0]: ", list1[0])
print("list2[1:5]: ", list2[1:5])

image.png

这里要强调的是,列表中的元素对应的索引是从0开始的哦,兄弟们一定要记着,这可千万不能忘了。

还有就是采用冒号(:)的方式访问列表中的元素的时候,可以把他理解成左闭右开的区间,按照这个区间取值,正常情况下list中的值我们基本上都能访问了。


1.2 更新列表

list = []
list.append('Google')
list.append('Runoob')
print(list)

image.png

我们可以使用append函数对列表中的数据进行更新,所以如果我们需要找到一个能够更新方便的数据结构,我觉得列表是挺好的一个选择。


1.3 删除列表元素

list1 = ['physics', 'chemistry', 1997, 2000]
print(list1)
del list1[2]
print("After deleting value at index 2 : ")
print(list1)

image.png

列表中删除元素也是方便的,直接想删除哪个删除哪个,任性就完事了!


1.4 列表中的内置函数

image.png

这里列举了一些基础的函数,能够求解出列表中基础的一些参数,比如长度、最大值最小值之类的简单函数。

image.png

以上是一些相对而言并不那么常用的函数,但是某些地方用到也会出现奇效,小伙伴们可以收藏一下,然后用的时候直接拿来用就妥妥的了。


二、元组


元组其实和列表的差距并不是很大,但是也有其独立的特点,比如元组的元素不能修改。元组使用小括号,列表使用方括号。元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。举个栗子:

tup1 = ('Google', 'Runoob', 1997, 2000)
tup2 = (1, 2, 3, 4, 5 )
tup3 = "a", "b", "c", "d"   #  不需要括号也可以

从以上的例子就能看出,元组在结构上的差异和列表并没有什么特别多的不同,就是把方括号换成了圆括号,甚至不用带括号(luo奔)都是可以的。

但是这里元组的创建有两个点需要稍稍的那么注意一下子,就是空的元组创建和单一元素的元组创建。


空元组创建:

tup1 = ()

单一元素的元组创建:

tup1 = (50,)

后面的逗号是必须加的哦,否则可能就把这个默认识别成创建一个单一的整型变量了。


2.1 元组元素的访问

tup1 = ('Google', 'Runoob', 1997, 2000)
tup2 = (1, 2, 3, 4, 5, 6, 7 )
print ("tup1[0]: ", tup1[0])
print ("tup2[1:5]: ", tup2[1:5])

image.png

看吧,这个和列表的访问基本就没区别。


2.2 修改元组

这里就体现出了元组和列表的区别了。

tup1 = (12, 34.56)
tup2 = ('abc', 'xyz')
tup3 = tup1 + tup2
print (tup3)

这样子对元组元素进行扩展是没有问题的,但是另一种情况就会出现问题:

tup1 = ('Google', 'Runoob', 1997, 2000)

其实,所谓元组的不可变指的是元组所指向的内存中的内容不可变。

但是,列表是可以的,

list = ['Google', 'Runoob', 1997, 2000] 
#以下的操作是非法的
list[0] = 100
print(list)

image.png


image.pngimage.pngimage.png

2.3 删除元组

元组中的元素值是不允许删除的,但我们可以使用del语句来删除整个元组

tup = ('Google', 'Runoob', 1997, 2000)
print (tup)
del tup
print ("删除后的元组 tup : ")
print (tup)

image.png


2.4 元组的内置函数

image.png

以上是元组的基本函数,图中也有基本的实例,兄弟们可以收藏下来,以后用到的时候拿来用就好。列表和元组两个结构基础的函数时差不多的,兄弟们照猫画猫就可以了。


三、字典


官方解释字典是一种可变容器模型,且可存储任意类型对象。

其实大家了解了以后就能看出它取名叫字典的原因了,我先剧透一下哦,就是大家想象一下自己用字典是不是在某一页数对应着某一个字,这个数据结构就是这种感觉,是一一对应的。


字典的每个键值 key=>value 对用冒号 : 分割,每个对之间用逗号(,)分割,整个字典包括在花括号 {} 中。

键必须是唯一的,但值则不必。

值可以取任何数据类型,但键必须是不可变的,如字符串,数字。

一个简单的字典实例:

image.png


3.1 访问字典的值

字典和其他两种数据类型的不同在于多了一个键值,这个键值总不能闲置,所以用处就体现出来了。

dict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
print ("dict['Name']: ", dict['Name'])
print ("dict['Age']: ", dict['Age'])

image.png

我们访问字典中的元素都是通过键值去访问的哦。


3.2 修改字典的值

开头的官方解释中就提到了,字典是一种可变的数据类型,仅仅是它的键是不可变的。

dict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
dict['Age'] = 8             
dict['School'] = "清华大学"  
print ("dict['Age']: ", dict['Age'])
print ("dict['School']: ", dict['School'])

image.png

能够看出,对于我们最初的字典,我们通过键的方式对值进行了改变。


3.3 删除字典中元素

删除操作能删单一的元素也能清空字典,清空只需一项操作。

删除单一元素:

dict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
del dict['Name'] # 删除键 'Name'
print(dict)

image.png

dict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
dict.clear()     # 清空字典
print(dict)

image.png


3.4 字典的特性

1)不允许同一个键出现两次。创建时如果同一个键被赋值两次,后一个值会被记住

dict = {'Name': 'Runoob', 'Age': 7, 'Name': '小菜鸟'}
print ("dict['Name']: ", dict['Name'])

image.png

2)键必须不可变,所以可以用数字,字符串或元组充当,而用列表就不行。

dict = {['Name']: 'Runoob', 'Age': 7}
print ("dict['Name']: ", dict['Name'])

image.png


3.5 字典的函数

image.png

这里同样和列表、元组一样是最基本的几种函数,日常应用可能相对多一点。

image.png


第二张图中的函数是我们用的频率较少的,但是我觉得在使用过程中偶尔也会有奇效出现。


本篇介绍了程序中常见的三种数据类型,分别是列表、元组、字典,介绍的内容相对把我遇到的都介绍了,如果大家有想法也可以私信我大家一起讨论进步,如果文中有什么问题,欢迎大家批评指正。


目录
相关文章
|
4天前
|
索引 Python
Python列表
Python列表。
31 8
|
7天前
|
C语言 Python
[oeasy]python054_python有哪些关键字_keyword_list_列表_reserved_words
本文介绍了Python的关键字列表及其使用规则。通过回顾`hello world`示例,解释了Python中的标识符命名规则,并探讨了关键字如`if`、`for`、`in`等不能作为变量名的原因。最后,通过`import keyword`和`print(keyword.kwlist)`展示了Python的所有关键字,并总结了关键字不能用作标识符的规则。
25 9
|
15天前
|
数据挖掘 大数据 数据处理
python--列表list切分(超详细)
通过这些思维导图和分析说明表,您可以更直观地理解Python列表切分的概念、用法和实际应用。希望本文能帮助您更高效地使用Python进行数据处理和分析。
32 14
|
17天前
|
数据挖掘 大数据 数据处理
python--列表list切分(超详细)
通过这些思维导图和分析说明表,您可以更直观地理解Python列表切分的概念、用法和实际应用。希望本文能帮助您更高效地使用Python进行数据处理和分析。
30 10
|
28天前
|
XML JSON API
如何使用Python将字典转换为XML
本文介绍了如何使用Python中的`xml.etree.ElementTree`库将字典数据结构转换为XML格式。通过定义递归函数处理字典到XML元素的转换,生成符合标准的XML文档,适用于与旧系统交互或需支持复杂文档结构的场景。示例代码展示了将一个简单字典转换为XML的具体实现过程。
17 1
|
1月前
|
数据处理 开发者 Python
Python中的列表推导式:简洁高效的数据处理
在编程世界中,效率和可读性是代码的两大支柱。Python语言以其独特的简洁性和强大的表达力,为开发者提供了众多优雅的解决方案,其中列表推导式便是一个闪耀的例子。本文将深入探讨列表推导式的使用场景、语法结构及其背后的执行逻辑,带你领略这一特性的魅力所在。
|
1月前
|
开发者 Python
探索Python中的列表推导式:简洁而强大的工具
【10月更文挑战第41天】 在编程的世界中,效率与简洁是永恒的追求。本文将深入探讨Python编程语言中一个独特且强大的特性——列表推导式(List Comprehension)。我们将通过实际代码示例,展示如何利用这一工具简化代码、提升性能,并解决常见编程问题。无论你是初学者还是资深开发者,掌握列表推导式都将使你的Python之旅更加顺畅。
|
1月前
|
Python
探索Python中的列表推导式
【10月更文挑战第38天】本文深入探讨了Python中强大而简洁的编程工具——列表推导式。从基础使用到高级技巧,我们将一步步揭示如何利用这个特性来简化代码、提高效率。你将了解到,列表推导式不仅仅是编码的快捷方式,它还能帮助我们以更加Pythonic的方式思考问题。准备好让你的Python代码变得更加优雅和高效了吗?让我们开始吧!
|
1月前
|
JavaScript 前端开发 算法
python中的列表生成式和生成器
欢迎来到瑞雨溪的博客,这里是一位热爱JavaScript和Vue的大一学生的天地。通过自学前端技术2年半,现正向全栈开发迈进。如果你从我的文章中受益,欢迎关注,我将持续更新高质量内容,你的支持是我前进的动力!🎉🎉🎉
25 0
|
1月前
|
Python
SciPy 教程 之 SciPy 模块列表 16
SciPy教程之SciPy模块列表16 - 单位类型。常量模块包含多种单位,如公制、质量、角度、时间、长度、压强、体积、速度、温度、能量、功率和力学单位。示例代码展示了力学单位的使用,如牛顿、磅力和千克力等。
20 0