python中list常用操作实例详解


Posted in Python onJune 03, 2015

本文实例讲述了python中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', 'b', 'mpilgrim', 'z', 'example']
>>> li[-1] 
'example' 
>>> li[-3] 
'mpilgrim' 
>>> li 
['a', 'b', 'mpilgrim', 'z', 'example']
>>> li[1:3]  
['b', 'mpilgrim'] 
>>> li[1:-1] 
['b', 'mpilgrim', 'z'] 
>>> li[0:3]  
['a', 'b', 'mpilgrim']

3.向 list 中增加元素

>>> li 
['a', 'b', 'mpilgrim', 'z', 'example']
>>> li.append("new")
>>> li 
['a', 'b', 'mpilgrim', 'z', 'example', 'new']
>>> li.insert(2, "new")
>>> li 
['a', 'b', 'new', 'mpilgrim', 'z', 'example', 'new']
>>> li.extend(["two", "elements"]) 
>>> li 
['a', 'b', 'new', 'mpilgrim', 'z', 'example', 'new', 'two', 'elements']

4.搜索 list

>>> li 
['a', 'b', 'new', 'mpilgrim', 'z', 'example', 'new', 'two', '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', 'b', 'new', 'mpilgrim', 'z', 'example', 'new', 'two', 'elements']
>>> li.remove("z")  
>>> li 
['a', 'b', 'new', 'mpilgrim', 'example', 'new', 'two', 'elements']
>>> li.remove("new") 
>>> li 
['a', 'b', 'mpilgrim', 'example', 'new', 'two', 'elements']
>>> li.remove("c")  
Traceback (innermost last): 
 File "<interactive input>", line 1, in ? 
ValueError: list.remove(x): x not in list 
>>> li.pop()     
'elements' 
>>> li 
['a', 'b', 'mpilgrim', 'example', 'new', 'two']

remove 从 list 中删除一个值的首次出现。
remove 仅仅 删除一个值的首次出现。 在这里, 'new' 在 list 中出现了两次, 但 li.remove("new") 只删除了 'new' 的首次出现。
如果在 list 中没有找到值, Python 会引发一个异常来响应 index 方法。
pop 会做两件事: 删除 list 的最后一个元素, 然后返回删除元素的值。

6.list 运算符

>>> li = ['a', 'b', 'mpilgrim']
>>> li = li + ['example', 'new']
>>> li 
['a', 'b', 'mpilgrim', 'example', 'new']
>>> li += ['two']         
>>> li 
['a', 'b', 'mpilgrim', 'example', 'new', 'two']
>>> li = [1, 2] * 3
>>> li 
[1, 2, 1, 2, 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) for k, v in params.items()])
'server=mpilgrim;uid=sa;database=master;pwd=secret'

join 只能用于元素是字符串的 list; 它不进行任何的类型强制转换。连接一个存在一个或多个非字符串元素的 list 将引发一个异常。

8.分割字符串

>>> 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']

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

9.list的映射解析

>>> li = [1, 9, 8, 4] 
>>> [elem*2 for elem in li]    
[2, 18, 16, 8] 
>>> li
[1, 9, 8, 4] 
>>> li = [elem*2 for elem in li] 
>>> li 
[2, 18, 16, 8]

10.dictionary中的解析

>>> 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']

11.列表过滤

>>> 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']

希望本文所述对大家的Python程序设计有所帮助。

Python 相关文章推荐
Python实现控制台输入密码的方法
May 29 Python
微信跳一跳自动运行python脚本
Jan 08 Python
tensorflow1.0学习之模型的保存与恢复(Saver)
Apr 23 Python
django反向解析URL和URL命名空间的方法
Jun 05 Python
django进阶之cookie和session的使用示例
Aug 17 Python
浅析Python 引号、注释、字符串
Jul 25 Python
Django认证系统实现的web页面实现代码
Aug 12 Python
python3多线程知识点总结
Sep 26 Python
Python中使用threading.Event协调线程的运行详解
May 02 Python
全网最细 Python 格式化输出用法讲解(推荐)
Jan 18 Python
Python面向对象之内置函数相关知识总结
Jun 24 Python
Python实现科学占卜 让视频自动打码
Apr 09 Python
python中argparse模块用法实例详解
Jun 03 #Python
Python中的推导式使用详解
Jun 03 #Python
对于Python装饰器使用的一些建议
Jun 03 #Python
Python模块搜索概念介绍及模块安装方法介绍
Jun 03 #Python
Python使用ftplib实现简易FTP客户端的方法
Jun 03 #Python
Python中的深拷贝和浅拷贝详解
Jun 03 #Python
python下paramiko模块实现ssh连接登录Linux服务器
Jun 03 #Python
You might like
PHP新手上路(十四)
2006/10/09 PHP
56.com视频采集接口程序(PHP)
2007/09/22 PHP
总结PHP代码规范、流程规范、git规范
2018/06/18 PHP
php7 图形用户界面GUI 开发示例
2020/02/22 PHP
json属性名为什么要双引号(个人猜测)
2014/07/31 Javascript
JS+CSS实现Li列表隔行换色效果的方法
2015/02/16 Javascript
javascript关于open.window子页面执行完成后刷新父页面的问题分析
2015/04/27 Javascript
AngularJS入门教程之路由机制ngRoute实例分析
2016/12/13 Javascript
前端JS面试中常见的算法问题总结
2016/12/23 Javascript
Vue 去除路径中的#号
2018/04/19 Javascript
详解webpack2异步加载套路
2018/09/14 Javascript
vue操作动画的记录animate.css实例代码
2019/04/26 Javascript
使用 Vue 实现一个虚拟列表的方法
2019/08/20 Javascript
Python 解析XML文件
2009/04/15 Python
实践Python的爬虫框架Scrapy来抓取豆瓣电影TOP250
2016/01/20 Python
Collatz 序列、逗号代码、字符图网格实例
2017/06/22 Python
Python针对给定字符串求解所有子序列是否为回文序列的方法
2018/04/21 Python
python获取时间及时间格式转换问题实例代码详解
2018/12/06 Python
对python调用RPC接口的实例详解
2019/01/03 Python
Python的bit_length函数来二进制的位数方法
2019/08/27 Python
Python3.9又更新了:dict内置新功能
2020/02/28 Python
基于Tensorflow一维卷积用法详解
2020/05/22 Python
一文弄懂Pytorch的DataLoader, DataSet, Sampler之间的关系
2020/07/03 Python
HTML5 Canvas API中drawImage()方法的使用实例
2016/03/25 HTML / CSS
深入解析HTML5中的Blob对象的使用
2015/09/08 HTML / CSS
Kathmandu澳洲户外商店:新西兰户外运动品牌
2017/11/12 全球购物
英国创新设计文具、卡片和礼品包装网站:Paperchase
2018/07/14 全球购物
项目采购员岗位职责
2014/04/15 职场文书
办公室主任竞聘演讲稿
2014/05/15 职场文书
消防工作实施方案
2014/06/09 职场文书
生活部的活动方案
2014/08/19 职场文书
信用卡工资证明格式
2014/09/13 职场文书
乡镇群众路线整改落实情况汇报
2014/10/28 职场文书
大学生个人年度总结范文
2015/02/15 职场文书
2016年“11.11”光棍节活动总结
2016/04/05 职场文书
Sentry的安装、配置、使用教程(Sentry日志手机系统)
2022/07/23 Python