Python 中数据结构以及操作列表、元组、字符串、字典

来源:互联网 发布:淘宝小手段 编辑:程序博客网 时间:2024/06/10 04:29

一、序列的基本操作和列表相关函数

1、基本操作

分片

>>>array=[1,2,3,4,5]>>>array[0:4][1,2,3,4]

指定步长,最后一位为步长

>>>array[0:6:2][1,3,5]

乘法

>>>[1,2,3]*3[1,2,3,1,2,3,1,2,3]

成员资格,用in 判断

>>> 'w' in 'ws'True>>> 'k' in 'ws'False

列表长度、最大值、最小值(len,min,max)

>>>array=[1, 2, 3, 4, 5, 6, 11, 2, 4, 5]>>>len(array)10>>>min(array)1>>>max(array)11

以上适用于列表和元组,下面适用于列表

2、成员方法

方法 说明 append 列表后面追加新对象 count 统计某个元素在列表出现次数 extend 在列表后一次性追加多个值,区别于+ index 找出某个值第一次出现位置 insert 用于将对象插入列表 pop 移除列表中最后一个元素 remove 移除列表中某个值第一个匹配项 reverse 列表元素反序存放 sort 列表元素排序 append 列表后面追加新对象
>>>array=[1,2]>>>array.append(3)[1,2,3]

count统计某个元素在列表出现次数

>>>array=[1,1,1,2,3,4,5]>>>array.count(1)3

extend在列表后一次性追加多个值,区别于+

>>>array=[1,2,3]>>>array+[4,5][1,2,3,4,5]>>>array[1,2,3]>>>array.append([4,5])[1,2,3,4,5]>>>array[1,2,3,45]

index 找出某个值第一次出现位置

>>>array=[1,2,3,2,4]>>>array.index(2)1

insert 用于将对象插入列表

>>>array=[1,2,3]>>>array.insert(1,'hello')[1, 'hello', 2, 3]

pop 移除列表中最后一个元素

>>>array=[1,2,3]>>>array.pop()>>>array[1,2]

remove 移除列表中某个值第一个匹配项

>>>array=[1,2,3,4,5,6,5,7]>>>array.remove()>>>array.remove(5)>>>array[1, 2, 3, 4, 6, 5, 7]

reverse列表元素反序存放

>>> array[1, 2, 3, 4, 6, 5, 7]>>> array.reverse()>>> array[7, 5, 6, 4, 3, 2, 1]>>> 

sort列表元素排序

>>> array[7, 5, 6, 4, 3, 2, 1]>>> array.sort()>>> array[1, 2, 3, 4, 5, 6, 7]>>> 

sort也可以指定cmp函数来进行高级自定义排序

>>> array[1, 2, 3, 4, 5, 6, 7]>>> cmp(1,2)     // cmp函数的默认实现-1>>> cmp(3,2)1>>> array.sort(cmp)>>> array[1, 2, 3, 4, 5, 6, 7]>>> 

二、字符串的基本操作和方法

1、字符串也支持分片基本操作

>>> '123'[0:2]'12'

2、字符串方法

方法 说明 find 在一个较长的字符串中查找子串 join 用来连接序列中的元素,split的逆方法 split 将字符串分割为列表 lower 返回字符串的小谢形式 replace 返回字符串中所有项被替换的字符串 strip 去掉两侧不包括内部的空格

find 在一个较长的字符串中查找子串

>>> 'i like python'.find('py')7

join用来连接序列中的元素,split的逆方法

>>> a='i like python'.split(' ')>>> ' '.join(a)'i like python'

split 将字符串分割为列表

>>> 'i like python'.split(' ')['i', 'like', 'python']>>> 

lower 返回字符串的小谢形式
replace 返回字符串中所有项被替换的字符串

>>> 'i like python,python is amazing'.replace('a','pp')'i like python,python is ppmppzing'

strip去掉两侧不包括内部的空格

三、字典的基本操作和方法

1、建立字典

直接建立

>>> phonebook={'a':123,'b':456,'c':789}>>> phonebook{'a': 123, 'c': 789, 'b': 456}>>> 

dict函数,将其他映射或者(key,value)对的序列建立字典

>>> items=dict([('one',1),('two',2)])>>> items{'two': 2, 'one': 1}>>> 

2、基本操作

基本操作 说明 len(d) 返回d中项(key-value)的数量 d[k] 返回key等于k的value del d[k] 删除键为k的项 k in d 检查d中是否有含有键为k的项

3、字典方法

方法 说明 clear 清除字典中所有的项 cpoy 浅复制 deepcopy 深复制 fromkeys 给指定的键建立新的字典,每个键都对应一个默认的值None get 更加宽松访问字典的方法,不存在返回None,不会出现异常 has_key 检查字典中是否有指定的键 items 方法将字典中项以列表形式返回 iteritems 返回的为列表迭代器 pop 获取给定键的值,并将此项移除 popitem 随机弹出字典中的某个项 values 以列表的形式返回字典的值

clear 清除字典中所有的项

>>> items{'two': 2, 'one': 1}>>> items.clear()>>> items{}

cpoy浅复制

fromkeys给指定的键建立新的字典,每个键都对应一个默认的值None

>>> {}.fromkeys(['one','two','three']){'three': None, 'two': None, 'one': None}

get 更加宽松访问字典的方法,不存在返回None,不会出现异常

>>> dicter={}.fromkeys(['one','two','three'])>>> dicter.get('one')>>> dicter.get('yy')>>> dicter['one']>>> dicter['yy']Traceback (most recent call last):  File "<stdin>", line 1, in <module>KeyError: 'yy'

has_key 检查字典中是否有指定的键

>>> dicter.has_key('one')True>>> dicter.has_key('y')False

items和iteritems
items方法将字典左右项以列表形式返回,iteritems返回的为迭代器

>>> dicter.items()[('three', None), ('two', None), ('one', None)

pop 获取给定键的值,并将此项移除

>>> dicter{'three': 789, 'two': 456, 'one': 123}>>> dicter.pop('one')123>>> dicter{'three': 789, 'two': 456}

popitem 随机弹出字典中的某个项
values 以列表的形式返回字典的值

>>> dicter{'three': 789, 'two': 456}>>> dicter.values()[789, 456]
0 0