第二天,阿中“准时”的走到办公室,在劈里啪啦的键盘敲击声中来到自己的工作坐下。
“美好的一天又开始了。”
阿中正在想着今天的工作从何处做起,突然被一声娇嫩的异性声音打断注意力。
“师父好”
原来是新来的小美女斯斯不知何时已经站在了自己的身后。
“我是新来的,对咱们部门的相关情况了解不多,请师父多多关照。”
阿中盯着眼前这张娇羞可爱的脸,楞了一会儿,才反应过来。
聊了一些单位的情况后,阿中说道:
“你刚来,还是要打好基础,相信你的理论水平是没问题的,但是是锻炼动手能力,先从python开发开始吧,我先给你看一个学习python的知识图谱,然后从python基础知识讲起。”
对于每一门编程语言来说,数据结构都是其根基。今天先讲Python 中最常见的两种数据结构:列表(list)和元组(tuple)。
列表和无线都是一个可以放置任意数据类型的有序集合,当然他们是有区别的:
列表是动态的,长度大小不固定,可以随意地增加、删减或者改变元素(mutable)。
元组是静态的,长度大小固定,无法增加删减或者改变(immutable)。
可以看下面的示例代码,列表可以被轻松修改值,而同样的操作元组被报错:
1 l = [1, 2, 3, 4]
2
3 l[3] = 40 # 和很多语言类似,python中索引同样从0开始,l[3]表示访问列表的第四个元素
4
5 l
6
7 [1, 2, 3, 40]
8
9
10 tup = (1, 2, 3, 4)
11
12 tup[3] = 40
13
14 Traceback (most recent call last):
15
16 File "<stdin>", line 1, in <module>
17
18 TypeError: 'tuple' object does not support item assignment
这是为什么呢?
因为列表在内存中分配的是动态空间,如果需要增加,只需要在动态空间末尾加入元素就可以了,而元组在内存中分配的是静态空间,如果需要修改元组的数值,需要重新开辟一片新的内存空间。
再来看一下列表和元组支持的其它操作吧。
-
Python 中的列表和元组都支持负数索引,-1 表示最后一个元素,-2 表示倒数第二个元素,以此类推。
-
列表和元组都支持切片操作,可以查找子列表和子元组
-
列表和元组都可以随意嵌套
-
两者也可以通过 list() 和 tuple() 函数相互转换:
-
有很多常用的内置函数,比如count(),index()等
那么列表和元组到底用哪一个呢?这个需要具体情况具体分析。
1. 如果存储的数据和数量不变,比如你有一个函数,需要返回的是一个地点的经纬度,然后直接传给前端渲染,那么肯定选用元组更合适。
2. 如果存储的数据或数量是可变的,比如社交平台上的一个日志功能,是统计一个用户在一周之内看了哪些用户的帖子,那么则用列表更合适。
”哇,师父讲的好简洁易懂!“
阿中第一次被美女徒弟夸奖,内心瞬间产生些许波澜,但阿中仍故作镇静的回道:
”我向来如此。“
说完赶紧把脸转到另一侧,生怕被别人看见自己已经滚烫的脸。