1. List列表 概述
List是Python中最灵活的有序集合类型。List中的元素可以是任何类型:number, string甚至list。List有一下特点:
- * List是任意对象的有序集合
- * 使用下标索引其中的元素
- * 可变长度,异质(list中元素可以是不同类型),内嵌(list of list)
- * mutable,序列的操作都适用(index,slice...)
- * list是引用的集合,而不是对象本身
L = [ ] #空listL = [1, 2, ‘text’ ] #异质L = [1, 3, [1, 2] ] #嵌套L[1], L[1:3], L[i][j], len[L] # index, sliceL1+L2, L * 3 # 链接和复制for x in L 2 in LL2.append(4) L2.extend([5,6,7]) L2.sort( ) L2.index(1) L2.reverse( ) # 方法del L2[k] del L2[i:j] L2.pop( ) L2[i:j] = [ ] # 删除L2[i] = 1 L2[i:j] = [4,5,6] # 赋值, mutablerange(4) range(0, 4) # 产生整数列表L4 = [x**2 for x in range(5)] #列表推导式,(现在还不知道是什么意思)
2. Dictionay字典 概述
如果说列表List是有序对象集合的话,字典就是无序对象集合,他们之间最主要的差别就是,字典通过关键字(key)存取值,而不是offset。
字典有如下特点:
- * 通过Key读取,而不是offset
- * 任意对象的无序集合
- * 可变长度,异质,可任意嵌套
- * Mutable映射表
- * 字典是对象引用的hash表,而不是对象本身
可见Dictionary和List基本是一直,除了全面所说的存取方式。
D = {} #空字典,注意是大括号D1 = {'spam':2, 'egg':'None'} # 字典元素的定义方法D2 = {'food':{'ham':1,'egg':2}} # 嵌套定义D1['spam'] D2['food']['ham'] # 存取方法D1.has_key('egg'), 'egg' in D1, D2.values(), ... # Dictionary相关的方法D3 = dict(zip(keyslist, valuslist)) #Dictionary的构建(我现在还不清除这种用法)
由于Dictionary不是一个序列,所以不能直接使用迭代,要使用迭代的话,可以如下:
for item in D.keys():
Dictionary使用注意:
- * Dictionary是Mapping,而不是Sequence,在Dictonary中的各元素没有先后的顺序关系,所以对于Sequence的操作对Dictonary都不使用。如:连接,分片索引(slicing)
- * 对Dictionary的新的key赋值,就是增加一个新的元素。对已有的key赋值就是修改此元素
- * Dictionary的key不一定要是字符串string,其实任意不可变(immutable)的对象都可以,例如整数等
没有评论:
发表评论