#!/usr/bin/python

# 列表的学习, 列表的概念不陌生, 就是熟悉一下python中的列表是如何操作的

# 1. 序列的操作

L = [ 123, 'spam', 1.23]        # 里面的元素不用一致

len(L)                          # 获取序列的长度, 和字符串一样, 所以我就想字符串内部是不是也是序列

L[0]                            # 通过位置来索引序列中的元素

L[:-1]                          # 分片
L + [4, 5, 6] # 通过加号操作生成一个新的序列, 而不是在L的末尾的内存处继续添加 # 2. 类型特定的操作 L.append('NI') # 在序列的末尾增加一个元素 L.pop(2) # 从中间弹出一个元素
# 所以这里列表是可变的 M = ['bb', 'aa', 'cc']
M.sort() # 对序列排序
M.reverse() # 翻转序列 # 边界检查
# 虽然列表没有固定的大小, 但是操作的时候超出边界会引起错误 # L[99] 这样的就会报错的 # 3. 嵌套
# python的列表支持任意的嵌套
M = [[1, 2, 3],
[4, 5, 6],
[7, 8, 9]] M[1]
M[1][2] # 用了多个[]就表示要逐层深入解析 # 4. 列表的解析
col2 = [row[1] for row in M] # 我曹, 还可以这样
# col2 = [2, 5, 8], M没有变化
col3 = [row[1] + 1 for row in M]
col4 = [row[1] for row in M if row[1] % 2 == 0] # 注意中操作只适用于小规模的数据, 如果是大规模的数据要用到其他的扩展包
diag = [M[i][i] for i in [0, 1, 2]] doubles = [c * 2 for c in 'spam']
# doubles = ['ss', 'pp', 'aa', 'mm'] # 列表解析在函数map和filter有更复杂的 G = (sum(row) for row in M) # 对行求和
list(map(sum, M)) # 在python 3.0中, 解析语法也可以生成集合和字典
{sum(row) for row in M}
{i : sum(M[i]) for i in range(3)}

python学习(五)列表的更多相关文章

  1. Python学习02 列表 List

    Python学习02 列表 List Python列表 List Python中的列表(List)用逗号分隔,方括号包围(comma-separated values (items) between ...

  2. python学习笔记——列表生成式与生成器

    1.列表生成式(List Comprehensions) python中,列表生成式是用来创建列表的,相较于用循环实现更为简洁.举个例子,生成[1*1, 2*2, ... , 10*10],循环用三行 ...

  3. Python学习3——列表和元组

    一.通用序列操作——索引.切片.相加.相乘.成员资格检查 1.索引,正序从0开始为第一个元素,逆序从-1开始,-1为最后一个元素 >>> greeting[0] 'h' >&g ...

  4. python学习之列表的定义以及增删改查

    列表定义: >>> name['lily','lucy','tom'] >>> nums = [11,22,33,'100','lily'] #python中的列表 ...

  5. Python学习(五) Python数据类型:列表(重要)

    列表: list是一组有序项目的数据结构. 列表是可变类型的数据,列表用[]进行表示,包含了多个以","分隔的项目. list=[] type(list) //<type ' ...

  6. python学习之列表语法

    1.列表 1 list.append(obj)在列表末尾添加新的对象2 list.count(obj)统计某个元素在列表中出现的次数3 list.extend(seq)在列表末尾一次性追加另一个序列中 ...

  7. Python学习06——列表的操作(2)

    笨办法学Python第39节 之前用的第三版的书,昨天发现内容不对,八块腹肌又给我下了第四版,这次的内容才对上.本节的代码如下: ten_things = "Apples Oranges C ...

  8. python学习04——列表的操作

    笨办法学python第38节 如何创建列表在第32节,形式如下: 本节主要是讲对列表的操作,首先讲了 mystuff.append('hello') 的工作原理,我的理解是,首先Python找到mys ...

  9. python学习笔记——列表操作

    python列表操作——增 append:追加一条数据到列表的最后 name = ["Zhangsan","XiongDa","Lisi"] ...

  10. python学习之列表和字典

    列表 基本操作>>>len([1,3,4])3 >>>[1,2,3]+[4,5,6]    +号两边必须是相同类型[1,2,3,4,5,6] >>> ...

随机推荐

  1. 为了兼容性问题,本人一律淘汰不兼容如下三种浏览器的js

    原文发布时间为:2009-04-16 -- 来源于本人的百度文章 [由搬家工具导入] JavaScript: 不兼容 IE    FF火狐   Google 一律不作收藏了。。。。 最好还能兼容 Op ...

  2. 《Linux命令行与shell脚本编程大全 第3版》Linux命令行---44

    以下为阅读<Linux命令行与shell脚本编程大全 第3版>的读书笔记,为了方便记录,特地与书的内容保持同步,特意做成一节一次随笔,特记录如下:

  3. GDB 命令详细解释

    Linux中包含有一个很有用的调试工具--gdb(GNU Debuger),它可以用来调试C和C++程序,功能不亚于Windows下的许多图形界面的调试工具. 和所有常用的调试工具一样,gdb提供了以 ...

  4. ext2/3/4的inode结构说明

    系统环境:Ubuntu15.10/ext4 今天在复习<鸟哥的私房菜-基础学习篇>,看到inode大小为128bytes,想看下这128字节里面到底是什么样的. 于是我查了下google, ...

  5. Android 中利用ViewFlipper 滑动屏幕切换页面,ListView展示数据

    首先新建一个Android项目,命名为ViewFlipperTest 如图:项目机构,本项目主要操作图中红色箭头标注的文件 1.HgroupAdapter.java文件代码↓主要实现listview数 ...

  6. 交换机的工作模式:IVL和SVL

    IVL(independent vlan learning)每个vlan建一个表,看起来好像有很多表,其实这里所说的表是指逻辑上的表,实际上在交换机中还是只有一个表.如果将VID相同的记 录都提取出来 ...

  7. Android-Handler消息机制实现原理

    一.消息机制流程简介 在应用启动的时候,会执行程序的入口函数main(),main()里面会创建一个Looper对象,然后通过这个Looper对象开启一个死循环,这个循环的工作是,不断的从消息队列Me ...

  8. VC++动态链接库(DLL)编程深入浅出(三)

    前面我们对非MFC DLL进行了介绍,这一节将详细地讲述MFC规则DLL的创建与使用技巧. 另外,自从本文开始连载后,收到了一些读者的e-mail.有的读者提出了一些问题,笔者将在本文的最后一次连载中 ...

  9. AngularJS的添加操作和列表操作

    代码下载:https://files.cnblogs.com/files/xiandedanteng/agsAddList.rar 添加成员页面图示: 添加成员页面代码: <%@ page la ...

  10. Ubuntu系统经常使用操作指令说明

    使用U盘拷贝压缩文件 文件的压缩方法详见:3.6文件归档压缩及其释放 U盘直接插入机器USB接口.等待自己主动弹出窗体,在弹出窗体选择"文件->打开终端",打开的终端当前文件 ...