|
学习python也有一段时间了,可是对于python应用还得多多练习方可。
这里记录下对应学习的方法,便于以后查找。
一、列表方法
list函数用于把序列转换成列表
- append
- count
- extend
- index
- insert
- pop
- remove
- reverse
- sort
- 高级排序
1.append
append方法用于在列表末尾追加新的对象
>>> lst = [1,2,3]
>>> lst
[1, 2, 3]
>>> lst.append(4)
>>> lst
[1, 2, 3, 4]
append方法是直接修改对象的值
2.count
count方法用于统计某个元素在列表中出现的次数
>>> lst = [1,5,5,4,4,3,5,[1,2,3],[1,2,[1,2,3]]]
>>> lst
[1, 5, 5, 4, 4, 3, 5, [1, 2, 3], [1, 2, [1, 2, 3]]]
>>> lst.count(1)
1
>>> lst.count([1,2,3])
1
>>> lst.count(5)
3
>>> lst.count(3)
1
3.extend
extend方法可以在列表的末尾一次性追加另一个序列的多个值
>>> a = [1,2,3]
>>> a
[1, 2, 3]
>>> b = [4,5,6]
>>> b
[4, 5, 6]
>>> a.extend(b)
>>> a
[1, 2, 3, 4, 5, 6]
>>> b
[4, 5, 6]
extend不同于"+"连接符,"+"连接符不会改变原始值
4.index
index方法用于从列表中找出某个值第一个匹配项的索引位置
>>> lst = list("what is your name")
>>> lst
['w', 'h', 'a', 't', ' ', 'i', 's', ' ', 'y', 'o', 'u', 'r', ' ', 'n', 'a', 'm', 'e']
>>> lst.index("w")
0
>>> lst.index("a")
2
>>> lst.index("a",3)
14
隐性参数",3"可以指定查找的起始位置
5.insert
insert方法用于将对象插入到列表中
>>> a = range(1,7)
>>> a
[1, 2, 3, 4, 5, 6]
>>> a.insert(3,'lol')
>>> a
[1, 2, 3, 'lol', 4, 5, 6]
>>> a[3]
可指定插入后的索引位置
6.pop
pop方法会移除列表中的一个元素(默认是最后一个),并且返回该元素的值
>>> x = range(1,4)
>>> x
[1, 2, 3]
>>> x.pop()
3
>>> x
[1, 2]
>>> x.pop(0)
1
>>> x
[2]
可给予pop参数索引位置,删除指定元素
7.remove
remove方法用于移除列表中的某个值的第一个匹配项
>>> x = ['to','be','number','one','to','be','number','one']
>>> x
['to', 'be', 'number', 'one', 'to', 'be', 'number', 'one']
>>> x.remove('to')
>>> x
['be', 'number', 'one', 'to', 'be', 'number', 'one']
8.reverse
reverse方法将列表中的元素反向存放
>>> x = range(1,11)
>>> x
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>> x.reverse()
>>> x
[10, 9, 8, 7, 6, 5, 4, 3, 2, 1]
9.sort
sort方法用于在原位置对列表进行排序
x[:]得到包含所有元素的分片,这是一种很有效率的复制整个列表的方法
>>> x = [5,4,3,6,7,1]
>>> x.sort()
>>> x
[1, 3, 4, 5, 6, 7]
10.高级排序
飞船操作符
>>> cmp(1,2)
-1
>>> cmp(2,1)
1
>>> cmp(1,1)
0
>>> number = [5,2,9,7]
>>> number
[5, 2, 9, 7]
>>> number.sort(cmp)
>>> number
[2, 5, 7, 9]
>>> number = [5,2,9,7]
>>> number
[5, 2, 9, 7]
>>> number.sort()
>>> number
[2, 5, 7, 9]
可通过sort方法的可选参数key和reverse来自定义排序
>>> x = ['aaaaa','aaaaa','aaa','aa','a']
>>> x
['aaaaa', 'aaaaa', 'aaa', 'aa', 'a']
>>> x.sort(key=len)
>>> x
['a', 'aa', 'aaa', 'aaaaa', 'aaaaa']
>>> x = ['4','6','2','1','9']
>>> x
['4', '6', '2', '1', '9']
>>> x.sort(reverse=True)
>>> x
['9', '6', '4', '2', '1']
二、元组方法
tunple函数用于把序列转换成元组
元组除了创建元组和访问元组之外没有什么太多操作
>>> x = 1,2,3
>>> x
(1, 2, 3)
>>> x[1]
2
>>> x[:2]
(1, 2)
三、字符串方法
- find
- join
- lower
- replace
- split
- strip
- translate
1.find
find方法可以在一个较长的字符串中查找字符串,它返回子串所在位置的最左端索引。如果没有找到则返回-1
>>> strings = ("whith a moo-moo here, and a moo-moo threr")
>>> strings
'whith a moo-moo here, and a moo-moo threr'
>>> strings.find('moo-moo')
8
>>> strings.find('whith')
0
>>> strings.find('FLy')
-1
>>> strings.find('moo-moo',8)
8
>>> strings.find('moo-moo',9)
28
>>> strings.find('moo-moo',9,27)
-1
隐性参数,可指定起始索引值、结束索引值。
2.join
join方法用于在队列中添加元素
>>> number = ['1','2','3','4','5','6']
>>> seq = '+'
>>> seq.join(number)
'1+2+3+4+5+6'
3.lower
lower方法返回字符串的小写字母版
>>> strings = 'Nice To Meet You'
>>> strings
'Nice To Meet You'
>>> strings.lower()
'nice to meet you'
4.replace
replace方法返回某字符串的所有匹配项均被替换后之后得到的字符串
>>> strings = "This is a test print"
>>> strings
'This is a test print'
>>> strings.replace('print','lol')
'This is a test lol'
5.split
split方法用于将字符串分割成序列
>>> strings = '1+2+3+4+5+6'
>>> strings.split('+')
['1', '2', '3', '4', '5', '6']
>>> list = strings.split('+')
>>> list
['1', '2', '3', '4', '5', '6']
6.strip
strip返回去除两侧特殊字符串(默认空格)
>>> strings = ' Is this your handbag? '
>>> strings
' Is this your handbag? '
>>> strings.strip()
'Is this your handbag?'
>>> strings
' Is this your handbag? '
>>> strings = '++++Is this your handbag !!!!!!!*******+++++'
>>> strings
'++++Is this your handbag !!!!!!!*******+++++'
>>> strings.strip('+!* ')
'Is this your handbag'
可去除指定的特殊字符,注意只是两侧的
7.translate
translate方法和replace方法一样,可以替换字符串中的某些位置,可是可以同时进行多个替换。注意:需要转换表
>>> from string import maketrans
>>> table = maketrans('A','B')
>>> strings = 'A is happiness'
>>> strings.translate(table)
'B is happiness'
>>> strings
'A is happiness'
四、字典方法
dict函数可以通过其他映射或者(键->值)这样的序列建立字典
>>> string = [("A","1"),("B","2")]
>>> string
[('A', '1'), ('B', '2')]
>>> d = dict(string)
>>> d
{'A': '1', 'B': '2'}
也可以通过关键字参数来创建字典
>>> d = dict(name='yumeng',age='20')
>>> d
{'age': '20', 'name': 'yumeng'}
- clear
- copy
- fromkeys
- get
- has_key
- items
- iteritems
- keys
- iterkeys
- pop
- popitem
- setdefault
- update
- values
- itervalues
1.clear
clear方法用于清除字典中所有的项
>>> d = {}
>>> d['name'] = 'yumeng'
>>> d['age'] = '20'
>>> d
{'age': '20', 'name': 'yumeng'}
>>> strings = d.clear()
>>> strings
>>> d
{}
>>> print strings
None
2.copy
copy用于返回一个具有相同键-值对的新字典(浅复制)
>>> x = {'username':'admin','machice':['foo','bar','baz']}
>>> x
{'username': 'admin', 'machice': ['foo', 'bar', 'baz']}
>>> y = x.copy()
>>> y
{'username': 'admin', 'machice': ['foo', 'bar', 'baz']}
>>> y['username'] = 'yumeng'
>>> y['machice'].remove('bar')
>>> y
{'username': 'yumeng', 'machice': ['foo', 'baz']}
>>> x
{'username': 'admin', 'machice': ['foo', 'baz']}
当副本y替换值的时候原始字典不受影响,但是修改了某个值,原始字典也会改变,为了避免这个问题,那么之用deepcopy函数的深复制
>>> from copy import deepcopy
>>> d = {}
>>> d['name'] = ['A','B']
>>> d
{'name': ['A', 'B']}
>>> c = d.copy()
>>> cc = deepcopy(d)
>>> d['name'].append('C')
>>> c
{'name': ['A', 'B', 'C']}
>>> cc
{'name': ['A', 'B']}
3.fromkeys
fromkey方法是用给定的键建立新的字典,每个键默认对应的值为None。
>>> {}.fromkeys(['name','age'])
{'age': None, 'name': None}
>>> {}.fromkeys(['name','age'],'yumeng')
{'age': 'yumeng', 'name': 'yumeng'}
可以指定默认值
4.get
get方法适用于访问字典项,不过很宽松
>>> d = {}
>>> print d['name']
Traceback (most recent call last):
File "<pyshell#331>", line 1, in <module>
print d['name']
KeyError: 'name'
>>> print d.get('name')
None
>>> print d.get('name','没有这个值')
没有这个值
>>>
是用get访问字典,就算没有这个值不会报错,也可以指定这个报错信息。
5.has_key
has_key方法可以检查字典中是否含有给出的键
>>> d = {}
>>> d.has_key('yumeng')
False
>>> d['yumeng'] = 'good'
>>> d.has_key('yumeng')
True
6.items
tiems方法用于将所有的字典项以列表的方式返回
>>> d = {}
>>> d['name'] = 'yumeng'
>>> d['age'] = '20'
>>> d
{'age': '20', 'name': 'yumeng'}
>>> d.items()
[('age', '20'), ('name', 'yumeng')]
7.iteritems
iteritems方法用于将所有字典项以迭代器的方式返回
>>> d = {}
>>> d['name'] = 'yumeng'
>>> d['age'] = '20'
>>> d
{'age': '20', 'name': 'yumeng'}
>>> d.iteritems()
<dictionary-itemiterator object at 0x01EEB930>
8.keys
keys方法用于将字典中的键以列表形式返回
>>> d = {}
>>> d['name'] = 'yumeng'
>>> d['age'] = '20'
>>> d
{'age': '20', 'name': 'yumeng'}
>>> d.keys()
['age', 'name']
9.iterkeys
iterkeys方法用于将字典中的键以迭代器的形式返回
>>> d = {}
>>> d['name'] = 'yumeng'
>>> d['age'] = '20'
>>> d
{'age': '20', 'name': 'yumeng'}
>>> d.iterkeys()
<dictionary-keyiterator object at 0x01EEB930>
10.pop
pop方法用于获得对应于给定键的值,然后将这个项删除。
>>> d = {'x':1,'y':2}
>>> d
{'y': 2, 'x': 1}
>>> d.pop('x')
1
>>> d
{'y': 2}
11.popitem
popitem方法用于随机删除字典中的项,并返回这个项的值
>>> d
{'y': 2, 'x': 1}
>>> d.popitem()
('y', 2)
>>> d
{'x': 1}
12.setdefault
setdefault方法用于获得给定键相关联的值,还可以在字典中不含有给定键的情况下设定相应的键值
>>> d = {}
>>> d.setdefault('name','yumeng')
'yumeng'
>>> d
{'name': 'yumeng'}
>>> d['name']='lol'
>>> d
{'name': 'lol'}
>>> d.setdefault('name','gg')
'lol'
>>> d
{'name': 'lol'}
13.update
update方法用于利用一个字典项更新另外一个字典
>>> a = {'a':1,'b':2}
>>> a
{'a': 1, 'b': 2}
>>> b = {'b':'110'}
>>> a.update(b)
>>> a
{'a': 1, 'b': '110'}
>>> c = {'name':'yumeng'}
>>> a.update(c)
>>> a
{'a': 1, 'b': '110', 'name': 'yumeng'}
如果有相同的值会覆盖掉
14.values
values用于以列表的形式返回字典中的值
>>> x = {'name':'yumeng','age':20}
>>> x
{'age': 20, 'name': 'yumeng'}
>>> x.values()
[20, 'yumeng']
15.itervalues
itervalues用于以迭代器的形式返回字典中的值
>>> x = {'name':'yumeng','age':20}
>>> x
{'age': 20, 'name': 'yumeng'}
>>> x.itervalues()
<dictionary-valueiterator object at 0x01EF8DE0>
至此,完成。 |
|