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

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

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
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值