0
点赞
收藏
分享

微信扫一扫

python中list总结


一、list可以看做是一个数据结构,也是一个class,

用help(list)可以看见其方法,元素的增删改查都有各种现成的方法,

 

二、list操作包含以下函数:

1、cmp(list1, list2):比较两个列表的元素
2、len(list):列表元素个数
3、max(list):返回列表元素最大值
4、min(list):返回列表元素最小值
5、list(seq):将元组转换为列表

三、包含以下方法:

1、list.append(obj):在列表末尾添加新的对象
2、list.count(obj):统计某个元素在列表中出现的次数
3、list.extend(seq):在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
4、list.index(obj):从列表中找出某个值第一个匹配项的索引位置
5、list.insert(index, obj):将对象插入列表
6、list.pop(obj=list[-1]):移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
7、list.remove(obj):移除列表中某个值的第一个匹配项
8、list.reverse():反向列表中元素
9、list.sort([func]):对原列表进行排序

我想说的是,append ()和extend()显然是有很多区别的,append直接在之后加入,extend相当于扩展。

 

四、list和字符串的转换,字符串的split()将其分割成list,join()方法将list合成一个字符串;

split 与 join 正好相反, 它将一个字符串分割成多元素 list。 

注意, 分隔符 (“;”) 被完全去掉了, 它没有在返回的 list 中的任意元素中出现。split 接受一个可选的第二个参数, 它是要分割的次数

>>> li = ['server=mpilgrim', 'uid=sa', 'database=master', 'pwd=secret']
 >>> s = ";".join(li)
 >>> s
 'server=mpilgrim;uid=sa;database=master;pwd=secret'
 >>> s.split(";")   
 ['server=mpilgrim', 'uid=sa', 'database=master', 'pwd=secret']
 >>> s.split(";", 1)
 ['server=mpilgrim', 'uid=sa;database=master;pwd=secret']

五、list的过滤

>>> li = ["a", "mpilgrim", "foo", "b", "c", "b", "d", "d"]
     >>> [elem for elem in li if len(elem) > 1]      
     ['mpilgrim', 'foo']
     >>> [elem for elem in li if elem != "b"]        
     ['a', 'mpilgrim', 'foo', 'c', 'd', 'd']
     >>> [elem for elem in li if li.count(elem) == 1]
     ['a', 'mpilgrim', 'foo', 'c']

 

六、字典的解析(用到了list的过滤)

>>> params = {"server":"mpilgrim", "database":"master", "uid":"sa", "pwd":"secret"}
 >>> params.keys()  
 ['server', 'uid', 'database', 'pwd']
 >>> params.values()
 ['mpilgrim', 'sa', 'master', 'secret']
 >>> params.items()
 [('server', 'mpilgrim'), ('uid', 'sa'), ('database', 'master'), ('pwd', 'secret')]
 >>> [k for k, v in params.items()]               
 ['server', 'uid', 'database', 'pwd']
 >>> [v for k, v in params.items()]               
 ['mpilgrim', 'sa', 'master', 'secret']
 >>> ["%s=%s" % (k, v) for k, v in params.items()]
 ['server=mpilgrim', 'uid=sa', 'database=master', 'pwd=secret']

举报

相关推荐

0 条评论