设为首页 收藏本站
查看: 909|回复: 0

[经验分享] python-链表

[复制链接]

尚未签到

发表于 2017-4-24 11:04:31 | 显示全部楼层 |阅读模式
python 链表操作

list=[1, 2, 3, 455, '1qq']
sList = ['a', 'b', 'c']

1. list.append('aaa')  #把'aaa'元素添加到链表的结尾,相当于 list[len(list):] = 'aaa'
list=[1, 2, 3, 455, '1qq', 'aaa']

2. list.extend(sList)   #把链表sList元素添加到list链表,相当于 list[len(list):] = sList
list=[1, 2, 3, 455, '1qq', 'a', 'b', 'c']

3. list.insert(i,x)   # 在i位置内插入x元素

4. list.remove(x) #删除第一个为x的元素

5. list.pop() # 从链表的指定位置删除元素,并将其返回,当i为空即list.pop()删除最后一个元素

6. list.index(x) #返回链表中第一个元素为x的索引,如果没有匹配的元素则报错

7. list.count(x) #返回x在链表中出现的次数

8. list.sort() #对链表的元素进行适当地排序

9. list.reverse() #对链表的元素进行倒序

del 语句,del list[0] 表示删除链表第一个元素,del list 表示删除整个链表

-------------------------------------------------------------------------------------------------------
把链表当做堆栈使用:

list = ['aaa', 'bbb', 'ccc', 'ddd']

进栈:
list.append('eee')

出栈:
list.pop()

-------------------------------------------------------------------------------------------------------
把链表当做队列使用:

list = ['aaa', 'bbb', 'ccc', 'ddd']

进队列:
list.append('eee')

出队列:
list.pop(0)

-------------------------------------------------------------------------------------------------------
链表内置函数:filter()、map()、reduce() (filter() map() 返回的是一个链表,reduce返回的是一个单值)

filter()

filter(function, sequence) 返回一个序列sequence ,包括给定序列中所有元素调用function(item) 返回值为true的元素
eg:

def f(x):
       return (x % 2 != 0 and x % 3 != 0)

list = filter(f,range(2, 25)) 返回值为[5,7,11,13,17,21,23]

map()

map(function, sequence) 为序列里面每个元素依次调用function(item),并将返回值组成链表返回
eg:

def cube(x):
       return x*x*x

list = map(cube, range(1, 5)) 返回值为[1,8,27,64]

reduce()

reduce(function, sequence) 返回一个单值,首先以序列的前两个元素调用函数,得到返回值在和第三个元素调用,依次执行下去
eg:

def add(x, y):
     return x+y

print reduce(add, range(1, 10))  返回值为

--------------------------------------------------------------------------------------------------------
链表推导式:
每一个链表推导式包括在一个for语句之后的表达式,零或多个for或if语句。返回值是由for或if子句之后的表达式得到的元素组成的链表。如果想要得到一个元组,必须要加上括号。

eg:
list=[' apple ', '    pear   ', '   banana']

list1 = [ fruit.strip() for fruit in list ]  返回 list1 =['apple', 'pear', 'banana']

vec = [ 2 , 4 , 6 ]
ved = [ 4 , 5 , 6 ]

vec1 = [ 3*x for x in vec ]  返回值为 [ 6, 12, 18 ]

vec2 = [ 4*x for x in vec if x > 3 ]  返回值为 [ 16, 24 ]

vec3 = [ 3*x for x in vec if x < 2 ] 返回值为 [ ]

vec4 = [ [x,3*x] for x in vec ]

vec5 = [ ( x,4*x ) for x in vec ]

vec6 = [ x*y for x in vec for y in ved ]

-------------------------------------------------------------------------------------
enumerate()遍历链表

list = ['aaa', 'bbb', 'ccc', 'ddd']

for i,v in enumerate(list):

     print i,v

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-368568-1-1.html 上篇帖子: python unittest用法 下篇帖子: python匹配中文
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表