Python 数据类型与对应的操作
1、list
定义/赋值:classmates=['emma','0804']
用函数生成如:a=list(range(1,11))
列表生产式:[x*x for x in range(1,11) if x%2==0] [m+n for m in 'abc' for n in 'xyz']
note:用len()函数获得list元素个数;
list的元素也可以是list 如:a=[1,2] b=[3,a,4] b[1][0]:1
查询访问操作(索引):classmates[0], classmates[-1]
追加元素: classmates.append('zhu')
插入元素:classmates.insert(1,'jack')
删除元素:classmates.pop(1) #pop()为删除末尾元素
修改元素(直接赋值):classmates[1]='sara'
切片:classmates[0:1] classmates[-2:-1] classmates[::2]#每两个取一个
Note:字符串'xxx'
也可以看成是一种list,每个元素就是一个字符。因此,字符串也可以用切片操作,只是操作结果仍是字符串
2.tuple #元组
定义:t=(1,2)
Note:只有一个元素的tuple的定义:t(1,)
特性:一旦初始化就不可更改,故无append或insert不可用
其他特性类似list
3、dic #字典
特性:使用键-值(key-value)存储,具有较快的查询速度(以空间换时间) key的对象不可变 通过key计算位置的算法为哈希算法
定义:d={'emma':90, 'eff':75, 'bob':70}
操作:赋值 d['emma']=60
判断key是否存在dic中 'emma' in d 或 d.get('emma', -1#可自定义)
删除key d.pop('bob')
get:get(key, default=None)
4. set
特性:与dict类似 但是不存储value, key值不重复
定义:s=set([1,2,3])
操作:添加元素 s.add(4)
删除元素 s.remove(4)
交集或并集:s1&s2 s1 | s2 #s1 s2已预先定义
5、函数作为返回值
example:def lazy_sum(*args):
def sum():
ax = 0
for n in args:
ax = ax + n
return ax
return sum
f=lazy_sum(1,3,5,7,9)
f
<function lazy_sum.<locals>.sum at 0x101c6ed90>