python语言学习--2
第三天
1. python代码缩进规则:具有相同缩进的代码被视为代码块,4个空格,
不要使用Tab,更不要混合Tab和空格,否则很容易造成因为缩进引起的语法错误。
2.list:[...] 用(名称任意)L[下标0...]得到对应元素,与C/C++语言相似
----可变,初始化效率低,占用空间比tuple大----
tuple:(...) 用(名称任意)L[下标0...]得到对应元素,与C/C++语言相似
----不可变,初始化效率高,占用空间小----
import timeit print(timeit.timeit('x=(1, 2, 3, 4, 5)')) print(timeit.timeit('y=[1, 2, 3, 4, 5]')) # tuple : 0.016255757999999995 +0.025686561 +0.033417921 +0.023551100999999998 +0.027688651 avg = 0.0253199984 # list : 0.14345796700000002 +0.091764757 +0.12169864200000001 +0.098271677 +0.148353162 avg = 0.120709241 # 4.76734789209149
(5次运行时间在注释中,可见list的初始化时间大约是tuple的5倍)
dict:{
key1 :value1 ,
key2 :value2 ,
... ,(最后一个逗号可省略)
} 用(名称任意)L[‘key’]得到对应元素,与前两者不同!!!
就相当于把key和value连起来,用key就可以找到对应的value,
与C++ STL里的映射相似,但语句不同!
----可变----
3.不同:1)dict的第一个特点是查找速度快,无论dict有10个元素还是10万个元素,查找速度都一样。(估计底层实现是hash表)
而list的查找速度随着元素增加而逐渐下降。(底层估计是原生数组)
2)不过dict的查找速度快不是没有代价的,dict的缺点是占用内存大,还会浪费很多内容,
list正好相反,占用内存小,但是查找速度慢。
3)由于dict是按 key 查找,所以,在一个dict中,key不能重复。
4)dict的第二个特点就是存储的key-value序对是没有顺序的,so 占用内存多,这和list不一样:
5)dict的第三个特点是作为 key 的元素必须不可变,Python的基本类型如字符串、整数、浮点数都是不可变的,
都可以作为 key。但是list是可变的,就不能作为 key。最常用的是str字符串!
6)dict 内部无序(如图)
4.函数:len(参数) --- 计算集合的size
dict内置函数 get(key) --- 在Key不存在的时候,返回None
用法实例:>>> d = {
'张三' : 1000,
'李四' : 2000,
'王佳慧':999,
'贪玩蓝月':99999,
...
}
>>> print L.get('王佳慧')
>>> 999
具体练习,详见慕课网课程 “python入门” (非广告😄)