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创建声明性迷你语言的教程
Apr 13 Python
python print输出延时,让其立刻输出的方法
Jan 07 Python
关于Python作用域自学总结
Jun 10 Python
django之自定义软删除Model的方法
Aug 14 Python
Python中base64与xml取值结合问题
Dec 22 Python
pytorch使用tensorboardX进行loss可视化实例
Feb 24 Python
python3 简单实现组合设计模式
Jul 02 Python
pycharm 2020 1.1的安装流程
Sep 29 Python
python如何快速拼接字符串
Oct 28 Python
一个非常简单好用的Python图形界面库(PysimpleGUI)
Dec 28 Python
PyTorch 实现L2正则化以及Dropout的操作
May 27 Python
Python如何导出导入所有依赖包详解
Jun 08 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环境套包 dedeampz 伪静态设置示例
2014/03/26 PHP
php实现遍历目录并删除指定文件中指定内容
2015/01/21 PHP
[原创]CI(CodeIgniter)简单统计访问人数实现方法
2016/01/19 PHP
PHP生成及获取JSON文件的方法
2016/08/23 PHP
php实现微信企业转账功能
2018/10/02 PHP
prototype 1.5 &amp; scriptaculous 1.6.1 学习笔记
2006/09/07 Javascript
ASP.NET jQuery 实例1(在TextBox里面创建一个默认提示)
2012/01/13 Javascript
深入document.write()与HTML4.01的非成对标签的详解
2013/05/08 Javascript
JS过滤url参数特殊字符的实现方法
2013/12/24 Javascript
JavaScript实现基于Cookie的存储类实例
2015/04/10 Javascript
jQuery Ajax中的事件详细介绍
2015/04/16 Javascript
yui3的AOP(面向切面编程)和OOP(面向对象编程)
2015/05/01 Javascript
Ajax验证用户名或昵称是否已被注册
2017/04/05 Javascript
将 vue 生成的 js 上传到七牛的实例
2017/07/28 Javascript
Django+Vue.js搭建前后端分离项目的示例
2017/08/07 Javascript
JavaScript实现的搜索及高亮显示功能示例
2017/08/14 Javascript
node.js通过axios实现网络请求的方法
2018/03/05 Javascript
详解基于iview-ui的导航栏路径(面包屑)配置
2019/02/22 Javascript
Layui实现数据表格默认全部显示(不要分页)
2019/10/26 Javascript
jQuery实现聊天对话框
2020/02/08 jQuery
如何构建 vue-ssr 项目的方法步骤
2020/08/04 Javascript
详解Python3.1版本带来的核心变化
2015/04/07 Python
Python中用于转换字母为小写的lower()方法使用简介
2015/05/19 Python
python查看FTP是否能连接成功的方法
2015/07/30 Python
python使用pycharm环境调用opencv库
2018/02/11 Python
win10下tensorflow和matplotlib安装教程
2018/09/19 Python
python多线程同步实例教程
2019/08/11 Python
python 实现保存最新的三份文件,其余的都删掉
2019/12/22 Python
Django后台管理系统的图文使用教学
2020/01/20 Python
Python中的xlrd模块使用原理解析
2020/05/21 Python
tensorflow下的图片标准化函数per_image_standardization用法
2020/06/30 Python
python对 MySQL 数据库进行增删改查的脚本
2020/10/22 Python
美国最大的香水出口:FragranceX.com
2017/11/04 全球购物
数据管理员的自我评价分享
2013/11/15 职场文书
2014年保险业务员工作总结
2014/12/23 职场文书
MySQL 条件查询的常用操作
2022/04/28 MySQL