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实现发送QQ邮件的封装
Jul 14 Python
Python如何通过subprocess调用adb命令详解
Aug 27 Python
Python重新加载模块的实现方法
Oct 16 Python
Scrapy框架使用的基本知识
Oct 21 Python
对python指数、幂数拟合curve_fit详解
Dec 29 Python
Python直接赋值、浅拷贝与深度拷贝实例分析
Jun 18 Python
基于梯度爆炸的解决方法:clip gradient
Feb 04 Python
浅谈Pycharm最有必要改的几个默认设置项
Feb 14 Python
Python任务调度利器之APScheduler详解
Apr 02 Python
python反爬虫方法的优缺点分析
Nov 25 Python
python 实现波浪滤镜特效
Dec 02 Python
Python使用openpyxl模块处理Excel文件
Jun 05 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
基于Discuz security.inc.php代码的深入分析
2013/06/03 PHP
PHP实现支持加盐的图片加密解密
2016/09/09 PHP
用ASP将SQL搜索出来的内容导出为TXT的代码
2007/07/27 Javascript
jquery 必填项判断表单是否为空的方法
2008/09/14 Javascript
JavaScript Event学习第六章 事件的访问
2010/02/07 Javascript
jquery easyui的tabs使用时的问题
2010/03/23 Javascript
Asp.net下利用Jquery Ajax实现用户注册检测(验证用户名是否存)
2010/09/12 Javascript
JS获取时间的方法
2015/01/21 Javascript
浅谈javascript的call()、apply()、bind()的用法
2016/02/21 Javascript
Js与Jq获取浏览器和对象值的方法
2016/03/18 Javascript
jQuery实现可拖动进度条实例代码
2017/06/21 jQuery
Vue中&quot;This dependency was not found&quot;问题的解决方法
2018/06/19 Javascript
vue实现压缩图片预览并上传功能(promise封装)
2019/01/10 Javascript
基于jQuery实现可编辑的表格
2019/12/11 jQuery
vue+element_ui上传文件,并传递额外参数操作
2020/12/05 Vue.js
python list使用示例 list中找连续的数字
2014/01/27 Python
11个并不被常用但对开发非常有帮助的Python库
2015/03/31 Python
Python2.7编程中SQLite3基本操作方法示例
2017/08/09 Python
简单实现Python爬取网络图片
2018/04/01 Python
详解如何将python3.6软件的py文件打包成exe程序
2018/10/09 Python
Python中将两个或多个list合成一个list的方法小结
2019/05/12 Python
Python实现Restful API的例子
2019/08/31 Python
在python shell中运行python文件的实现
2019/12/21 Python
Python获取、格式化当前时间日期的方法
2020/02/10 Python
jupyter notebook 调用环境中的Keras或者pytorch教程
2020/04/14 Python
html5 web本地存储将取代我们的cookie
2012/12/26 HTML / CSS
ONLY德国官方在线商店:购买时尚女装
2017/09/21 全球购物
Lancer Skincare官方网站:抗衰老皮肤护理
2020/11/20 全球购物
法学专业毕业生自荐信范文
2013/12/18 职场文书
写自荐信三大法宝
2014/01/24 职场文书
酒店保安员岗位职责
2014/01/31 职场文书
挂牌仪式主持词
2014/03/20 职场文书
倡议书范文格式
2014/05/12 职场文书
护林员个人总结
2015/03/04 职场文书
医药公司采购员岗位职责
2015/04/03 职场文书
html,css,javascript是怎样变成页面的
2023/05/07 HTML / CSS