LPTHW NOTES 4

@: 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’]

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 文:郑元春一个有着美好梦想的coder! 人生苦短,我用Python。 P.S. 个人认为,查找和排序是算法的核心...
    北静王阅读 2,162评论 3 10
  • Python list内置sort()方法用来排序,也可以用python内置的全局sorted()方法来对可迭代的...
    Nieyb阅读 3,138评论 0 0
  • Extend and append extend的参数只能是list类型,它负责将一个list添加到另一个List...
    Morphiaaa阅读 484评论 0 0
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,766评论 18 399
  • 早霞 堪怜霜冷早霞红,呵手驱寒驴技穷。 拍照殷勤频抢镜,扬眉笑对一天风。
    风儿诗语阅读 584评论 6 5