简介
Python最常见的数据类型分为序列与映射两大类。
常见的序列有列表list[]、元组tupple()、字符串str三种,常见的映射为字典{}。
序列
通用操作
索引、分片、相加、相乘、检索(判定成员资格)
1 | >>> a = [1,2,3,4] |
列表
函数与方法的区别
函数一般是通用的,适用与多种类。方法本质上还是是函数,但方法是属于某个类名下的。这一点从两者不同的调用形式上也可以看出来。
函数的调用: 函数名(参数1,参数2…),例如len(),min(),max()这些都是通用的函数
方法的调用:对象名.方法名(参数1,参数2…),下面会讲到列表的常用方法
常用函数:
list(),可以将一个其他类型的对象转换为list
range(start,end,step),返回一个数值递增列表,默认start为0,step为1,不包含end
map,reduce对列表进行映射与归约
1 | >>> list('hello') |
常用方法:
append:在列表的末尾追加元素
count:计算某个元素出现的次数,有返回值
extend:合并列表(需注意:针对字符串使用extend方法,会把字符串拆分为单个的字符,慎用)
index:查找某个元素第一次出现的位置
insert:在指定位置插入元素
pop:按位置移除指定元素并返回该元素的值,有返回值
remove:按照给定的值删除第一个匹配到的元素
sort:对列表进行排序
列表的复制与克隆
L1 = L ,L1为L的别名,本质上还是同一个对象,对L1操作即对L操作
L1 = L[:] ,L1为L的克隆,即另一个拷贝
1 | #声明列表 |
元组
元组因为不可变,所以除了可以创建和访问外没有太多的操作
1 | #创建空元组 |
字符串
字符串本身不可改变,所有对字符串的“改变”都是返回一个新的字符串。
关于字符串的操作经常会使用正则表达式(re模块)。
1 | str="hello world" |
映射
字典
基本操作:
dict(zip(list1,list2)):将两个列表组合转换为字典,list1为键(如有重复项,去重),list2为值
len():返回字典的项(键值对)数
d[k]:返回字典中键=k的值
del d[k]:删除字典中键=k的项
k in d:检查字典中是否有键=k的项 ,等价于 k in d.keys()
常用方法:
clear:清空字典
get:根据给定的键返回对应的值,如果键不存在,返回None
items:将字典中项转化为列表,每个项以键值对(key,value)的形式作为列表的一个元素
keys:将字典的键以列表的形式返回,类似的iterkeys返回一个键的迭代器
values:将字典的值以列表的形式返回,类似的itervalues返回一个值得迭代器
pop:根据给定的键,移除对应的项,如果键不存在则报异常,并将移除项的值作为返回值
popitem:随机移除字典中的一个项,并将移除的项作为返回值
setdefault:根据给定的键返回对应的值,如果键不存在,添加这个键并设定对应的值(默认为None)
update: d1.update(d2),用字典d2去更新d1,对d1的键值对进行新增或更新
1 | >>> a = {'name':'xzm','age':18} |
That’s all.
Happy writing!