@: python_today 11-4
1. str.split([sep[, maxsplit]])
返回一个将原字符串分离后的字符串列表, ’sep’即为分隔符,可不写或写None或写’ ’表示在空格处分割,如:
>>> str1 = ‘1 2 3 4’
>>>str1.split(‘ ‘)
[‘1’, '2', '3', ‘4’]
>>>str1.split()
[‘1’, '2', '3', ‘4’]
>>>str.split(None)
[‘1’, '2', '3', ‘4’]
或其他字符(串),如:
>>> a = 'ImjackImjackImjack'
>>> a.split('m')
[’I’, 'jackI', 'jackI', 'jack’]
maxsplit参数则是限制分割份数的量,如果给了这个参数,那么返回的列表则最多有maxsplit+1个元素.如若maxsplit未指定或指定为-1,则没有限制.如:
>>> str1 = ‘1 2 3 4’
>>>str1.split(None, 1)
[‘1’, '2 3 4’]
2. sorted(iterable[, cmp[, key[, reverse]]])
返回一个将迭代体iterable中项目排序后的列表.
cmp参数指定一个自定义的含两个参数的比较函数.这个函数根据两个参数的大小应该返回负数/正数/或是零
key参数指定迭代体元素中用来比较的参数
reverse是个布尔值, 如果设为True, 则排序过程中每次比较都被反向.
>>>student_tuples = [ ('john', 'A', 15), ('jane', 'B', 12), ('dave', 'B', 10), ]
>>> print sorted(student_tuples, key=lambda student: student[2]) ##(*)
[('dave', 'B', 10), ('jane', 'B', 12), ('john', 'A', 15)]
lambda是定义内联函数的一种方式; 实际上(*)就相当于如下:
>>>def sort_key(student):_ > return student[2]
>>>print sorted(student_tuples, key = sort_key)
深入的用法,后续用到再谈.
3. list.pop([i])
“踢掉”列表中指定位置i的项目,并将其返回.如果没有指定值, 则a.pop()会对最后一个项目进行此操作. 方括号表示这个参数是选择性的,代码中并不需要方括号.如下:
>>> lis = [‘as', 'at', 'on', 'under', 'beside’]
>>> lis.pop()
’beside'
>>> lis
[‘as', 'at', 'on', 'under’]