《程序员的办公室日常》第二回 拜师

第二天,阿中“准时”的走到办公室,在劈里啪啦的键盘敲击声中来到自己的工作坐下。

“美好的一天又开始了。”

阿中正在想着今天的工作从何处做起,突然被一声娇嫩的异性声音打断注意力。

“师父好”

原来是新来的小美女斯斯不知何时已经站在了自己的身后。

“我是新来的,对咱们部门的相关情况了解不多,请师父多多关照。”

阿中盯着眼前这张娇羞可爱的脸,楞了一会儿,才反应过来。

聊了一些单位的情况后,阿中说道:

“你刚来,还是要打好基础,相信你的理论水平是没问题的,但是是锻炼动手能力,先从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

 

这是为什么呢?

因为列表在内存中分配的是动态空间,如果需要增加,只需要在动态空间末尾加入元素就可以了,而元组在内存中分配的是静态空间,如果需要修改元组的数值,需要重新开辟一片新的内存空间。

再来看一下列表和元组支持的其它操作吧。

  1. Python 中的列表和元组都支持负数索引,-1 表示最后一个元素,-2 表示倒数第二个元素,以此类推。

  2. 列表和元组都支持切片操作,可以查找子列表和子元组

  3. 列表和元组都可以随意嵌套

  4. 两者也可以通过 list() 和 tuple() 函数相互转换:

  5. 有很多常用的内置函数,比如count(),index()等

那么列表和元组到底用哪一个呢?这个需要具体情况具体分析。

1. 如果存储的数据和数量不变,比如你有一个函数,需要返回的是一个地点的经纬度,然后直接传给前端渲染,那么肯定选用元组更合适。

2. 如果存储的数据或数量是可变的,比如社交平台上的一个日志功能,是统计一个用户在一周之内看了哪些用户的帖子,那么则用列表更合适。

”哇,师父讲的好简洁易懂!“

阿中第一次被美女徒弟夸奖,内心瞬间产生些许波澜,但阿中仍故作镇静的回道:

”我向来如此。“

说完赶紧把脸转到另一侧,生怕被别人看见自己已经滚烫的脸。

原文地址:https://www.cnblogs.com/jpcflyer/p/12373579.html