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入门” (非广告😄)

posted @ 2018-01-24 22:00  yocichen  阅读(157)  评论(0编辑  收藏  举报