Python实现list反转实例汇总
发布时间:2020-12-17 07:18:57 所属栏目:Python 来源:网络整理
导读:本文实例总结了Python实现list反转的方法。供大家参考研究。具体实现方法如下: 下面有几个不同实现的函数 复制代码 代码如下: import math def resv(li): new = [] if li: cnt = len(li) for i in range(cnt): new.append(li[cnt-i-1]) return new de
本文实例总结了Python实现list反转的方法。分享给大家供大家参考。具体实现方法如下: 下面有几个不同实现的函数 复制代码 代码如下: import math def resv(li): new = [] if li: cnt = len(li) for i in range(cnt): new.append(li[cnt-i-1]) return new def resv2(li): li.reverse() return li def resv3(li): hcnt = int(math.floor(len(li)/2)) tmp = 0 for i in range(hcnt): tmp = li[i] li[i] = li[-(i+1)] li[-(i+1)] = tmp return li li = [1,2,3,4,5] print resv(li) ps: resv2() 方法会改变原来list的排序,其它则不会 一些关于list基础用法 1.定义list 复制代码 代码如下: >>> li = ["a","b","mpilgrim","z","example"] >>> li ['a','b','mpilgrim','z','example'] >>> li[0] 'a' >>> li[4] 'example' 2.负的list 索引 复制代码 代码如下: >>> li ['a','example'] >>> li[-1] 'example' >>> li[-3] 'mpilgrim' >>> li ['a','example'] >>> li[1:3] ['b','mpilgrim'] >>> li[1:-1] ['b','z'] >>> li[0:3] ['a','mpilgrim'] 3.向 list 中增加元素 复制代码 代码如下: >>> li ['a','example'] >>> li.append("new") >>> li ['a','example','new'] >>> li.insert(2,"new") >>> li ['a','new','new'] >>> li.extend(["two","elements"]) >>> li ['a','two','elements'] 4.搜索 list 复制代码 代码如下: >>> li ['a','elements'] >>> li.index("example") 5 >>> li.index("new") 2 >>> li.index("c") Traceback (innermost last): File "<interactive input>",line 1,in ? ValueError: list.index(x): x not in list >>> "c" in li False 5.从 list 中删除元素 复制代码 代码如下: >>> li ['a','elements'] >>> li.remove("z") >>> li ['a','elements'] >>> li.remove("new") >>> li ['a','elements'] >>> li.remove("c") Traceback (innermost last): File "<interactive input>",in ? ValueError: list.remove(x): x not in list >>> li.pop() 'elements' >>> li ['a','two'] remove 从 list 中删除一个值的首次出现。 remove 仅仅 删除一个值的首次出现。 在这里,'new' 在 list 中出现了两次,但 li.remove("new") 只删除了 'new' 的首次出现。 如果在 list 中没有找到值,Python 会引发一个异常来响应 index 方法。 pop 会做两件事: 删除 list 的最后一个元素,然后返回删除元素的值。 6.list 运算符 复制代码 代码如下: >>> li = ['a','mpilgrim'] >>> li = li + ['example','new'] >>> li ['a','new'] >>> li += ['two'] >>> li ['a','two'] >>> li = [1,2] * 3 >>> li [1,1,2] 7.使用join链接list成为字符串 复制代码 代码如下: >>> params = {"server":"mpilgrim","database":"master","uid":"sa","pwd":"secret"} >>> ["%s=%s" % (k,v) for k,v in params.items()] ['server=mpilgrim','uid=sa','database=master','pwd=secret'] >>> ";".join(["%s=%s" % (k,v in params.items()]) 'server=mpilgrim;uid=sa;database=master;pwd=secret' join 只能用于元素是字符串的 list; 它不进行任何的类型强制转换。连接一个存在一个或多个非字符串元素的 list 将引发一个异常。 8.分割字符串 复制代码 代码如下: >>> li = ['server=mpilgrim','pwd=secret'] >>> s = ";".join(li) >>> s 'server=mpilgrim;uid=sa;database=master;pwd=secret' >>> s.split(";") ['server=mpilgrim','pwd=secret'] >>> s.split(";",1) ['server=mpilgrim','uid=sa;database=master;pwd=secret'] split 与 join 正好相反,它将一个字符串分割成多元素 list。 注意,分隔符 (“;”) 被完全去掉了,它没有在返回的 list 中的任意元素中出现。 split 接受一个可选的第二个参数,它是要分割的次数。 9.list的映射解析 复制代码 代码如下: >>> li = [1,9,8,4] >>> [elem*2 for elem in li] [2,18,16,8] >>> li [1,4] >>> li = [elem*2 for elem in li] >>> li [2,8] 10.dictionary中的解析 复制代码 代码如下: >>> params = {"server":"mpilgrim","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','pwd'] >>> [v for k,v in params.items()] ['mpilgrim','secret'] >>> ["%s=%s" % (k,'pwd=secret'] 11.列表过滤 复制代码 代码如下: >>> li = ["a","foo","c","d","d"]
>>> [elem for elem in li if len(elem) > 1] ['mpilgrim','foo'] >>> [elem for elem in li if elem != "b"] ['a','foo','c','d','d'] >>> [elem for elem in li if li.count(elem) == 1] ['a','c'] 希望本文所述对大家的Python程序设计有所帮助。 您可能感兴趣的文章:
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |