1. Python的列表操作可谓是功能强大且方便(相对于Java
    简单、常规的操作就不说了(这不是一个入门教程),介绍几个很有特点的例子
  2.  
  3. 添加
  1. # 追加到结尾(append)
  2. li = [1, 2, 3, 4, 5]
  3. li.append(6)
  4. print('li = %s' % li)
  5. # 输出:li = [1, 2, 3, 4, 5, 6]
  6.  
  7. # 追加一个列表(extend)
  8. li2 = ['a', 'b', 'c', 'd', 'e']
  9. li.extend(li2)
  10. print('li = %s' % li)
  11. # 输出:li = [1, 2, 3, 4, 5, 6, 'a', 'b', 'c', 'd', 'e']
  12.  
  13. # 列表和列表也可以做加法
  14. li_plus = li + li2
  15. print('li_plus = %s' % li_plus)
  16. # 输出:li_plus = [1, 2, 3, 4, 5, 6, 'a', 'b', 'c', 'd', 'e', 'a', 'b', 'c', 'd', 'e']
  1. 删除
  1. # 删除列表中的元素
  2. li = [1, 2, 3, 4, 5]
  3. li.remove(3)
  4. print('li = %s' % li)
  5. # 输出:li = [1, 2, 4, 5]
  6. # 根据索引删除元素
  7. del li[3]
  8. print('li = %s' % li)
  9. # 输出:li = [1, 2, 4]
  1. 截取(又叫切片操作)
    格式: [start:end:step] 。记住这个格式后你就可以发挥想象了
  1. li = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
  2. # 每隔两个元素取一个
  3. li2 = li[::2]
  4. print('li2 = %s' % li2)
  5. # 输出:li2 = [0, 2, 4, 6, 8, 10]
  6.  
  7. # 最后一个元素
  8. element = li[-1]
  9. print('element = %s' % element)
  10. # 输出:element = 10
  11.  
  12. # 拷贝(拷贝后是一个新对象)
  13. li2 = list(li)
  14. print('li2 = %s' % li2)
  15. # 输出:li2 = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
  1. 提取并删除(pop
  1. li = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
  2.  
  3. # 提取并删除最后一个元素
  4. li.pop() # 等同于 li.pop(-1)
  5. print('li = %s' % li)
  6. # 输出:li = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
  7.  
  8. # 提取并删除第一个元素(或第n个元素)
  9. li.pop(0)
  10. print('li = %s' % li)
  11. # 输出:li = [1, 2, 3, 4, 5, 6, 7, 8, 9]
  1. 排序
  1. # 正序排列
  2. li = [3, 1, 5, 8, 0, 9, 2, 6, 7, 4]
  3. li.sort()
  4. print('li = %s' % li)
  5. # 输出:li = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
  6.  
  7. # 倒序
  8. li = [3, 1, 5, 8, 0, 9, 2, 6, 7, 4]
  9. li.sort(reverse=True)
  10. print('li = %s' % li)
  11. # 输出:li = [9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
  12.  
  13. # 翻转(不是倒序排列)
  14. li = [3, 1, 5, 8, 0, 9, 2, 6, 7, 4]
  15. li.reverse()
  16. print('li = %s' % li)
  17. # 输出:li = [4, 7, 6, 2, 9, 0, 8, 5, 1, 3]

  1. 列表解析

    根据已有列表,高效创建新列表的方式
    格式: [expression for iter_val in iterable] 
  1. # 列表中的每一项取平方
  2. li = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
  3. li2 = [i**2 for i in li]
  4. print('li2 = %s' % li2)
  5. # 输出:li2 = [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
  6.  
  7. # 只有大于5的数才取平方。表达式也可以是if语句
  8. li = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
  9. li2 = [i**2 if i > 5 else i for i in li]
  10. print('li2 = %s' % li2)
  11. # 输出:li2 = [0, 1, 2, 3, 4, 5, 36, 49, 64, 81]
  1. 格式: [expr for iter_var in iterable if cond_expr] 
  1. # 只取非None的元素
  2. li = [0, 1, 2, 3, 4, 5, None, 6, 7, 8, 9]
  3. li2 = [i for i in li if i is not None]
  4. print('li2 = %s' % li2)
  5. # 输出:li2 = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
  1. 格式: [expr for iter_var in iterable for var in iter_var] 
  1. # 展开一个二维列表
  2. li = [[0, 1, 2], [3, 4, 5, 6], [7, 8, 9]]
  3. li2 = [j for i in li for j in i]
  4. print('li2 = %s' % li2)
  5. # 输出:li2 = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
  1. 连接列表中的元素(join
  1. li = ['aaa', 'bbb', 'ccc', 'ddd']
  2. li2 = ', '.join(li)
  3. print('li2 = %s' % li2)
  4. # 输出:li2 = aaa, bbb, ccc, ddd
  1.  

Python中的列表操作的更多相关文章

  1. 【Python】Python中的列表操作

    Python的列表操作可谓是功能强大且方便(相对于Java)简单.常规的操作就不说了(这不是一个入门教程),介绍几个很有特点的例子 添加 # 追加到结尾(append) li = [1, 2, 3, ...

  2. python中OS模块操作文件和目录

    在python中执行和操作目录和文件的操作是通过内置的python OS模块封装的函数实现的. 首先导入模块,并查看操作系统的类型: >>> import os os.name # ...

  3. Python中的字符串操作总结(Python3.6.1版本)

    Python中的字符串操作(Python3.6.1版本) (1)切片操作: str1="hello world!" str1[1:3] <=> 'el'(左闭右开:即是 ...

  4. python中的句柄操作

    python中的句柄操作 制作人:全心全意 通过窗口标题获取句柄 import win32gui hld = win32gui.FindWindow(None,u"Adobe Acrobat ...

  5. python中序列的操作

    Python中的序列操作 可变对象:列表.字典.集合 不可变对象:数值.字符串.元组.forzenset 1.序列的通用操作 (1)测试元素是否存在 x in S和x not in S,返回True或 ...

  6. Python编程之列表操作实例详解【创建、使用、更新、删除】

    Python编程之列表操作实例详解[创建.使用.更新.删除] 这篇文章主要介绍了Python编程之列表操作,结合实例形式分析了Python列表的创建.使用.更新.删除等实现方法与相关操作技巧,需要的朋 ...

  7. 一句python,一句R︱python中的字符串操作、中文乱码、NaN情况

    一句python,一句R︱python中的字符串操作.中文乱码.NaN情况 先学了R,最近刚刚上手Python,所以想着将python和R结合起来互相对比来更好理解python.最好就是一句pytho ...

  8. (Python基础教程之八)Python中的list操作

    Python基础教程 在SublimeEditor中配置Python环境 Python代码中添加注释 Python中的变量的使用 Python中的数据类型 Python中的关键字 Python字符串操 ...

  9. julia与python中的列表解析.jl

    julia与python中的列表解析.jl #=julia与python中的列表解析.jl 2016年3月16日 07:30:47 codegay julia是一门很年轻的科学计算语言 julia文档 ...

随机推荐

  1. EF异常探究(An entity object cannot be referenced by multiple instances of IEntityChangeTracker.)

    今天在改造以前旧项目时出现了一项BUG,是由于以前不规范的EF写法所导致.异常信息如下: "An entity object cannot be referenced by multiple ...

  2. 做直线不要使用hr

    需要横线.竖线时不要使用hr标签来做,容易出问题,可以使用高度或宽度为1px并加上背景色的div.p代替.

  3. gsoap入门实例

    环境VS2008,gsoap_2.8,win7 实例场景:在客户端输入一个字符串,然后传递给服务端计算字符串长度并返回给客户端(附加一些加减乘除法的实现): 将..\gsoap-2.8\gsoap\b ...

  4. 使用javascript编写根据用户鼠标控制背景图片的移动

    在一家VR公司做前端. 起初进入前端就是一种内心的直觉,创造更好的用户体验,让页面更加友好,当然最起初接手web项目还是为了完成毕业设计. 一个网上图书商城,虽然不大,但五脏都有毕竟开刀所以避免不了很 ...

  5. undefined 与void 0

    参考:https://segmentfault.com/a/1190000000474941 Javascript中void是一个操作符,该操作符指定要计算一个表达式但是不返回值.void 操作符用法 ...

  6. python添加自定义cookies

    import cookielib,urllib2 class AddCookieHandler(urllib2.BaseHandler): def __init__(self,cookieValue) ...

  7. StringBulider与StringBuffer的异同

    相同点:两者的功能都是相同的,没有任何差别. 不同点:StringBulider 不是同步的,也是线程不安全的,当使用多线程处理缓冲区时,不能使用.但是单线程访问的时候效率高,如果是单线程处理缓冲区资 ...

  8. 表空间与数据文件Offline,online的区别

    首先明确,表空间与数据文件的关系:Oracle数据库表空间有两种,一种smallfile小文件表空间(默认),另一种bigfile大文件表空间: 默认表空间与数据文件的关系:允许一对多的处理方式,一个 ...

  9. 利用C#转换图片格式及转换为ico

    注意:转换为ICO后效果不好. 源代码: using System;using System.Collections.Generic;using System.Text;using System.Dr ...

  10. C#连接六类数据库的代码集

    本文列出了C#连接Access.SQL Server.Oracle.MySQL.DB2和SyBase六种不同数据库的程序源码和需要注意的点. 1.C#连接Access 程序代码: ;