python学习(五)列表
#!/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学习(五)列表的更多相关文章
- Python学习02 列表 List
Python学习02 列表 List Python列表 List Python中的列表(List)用逗号分隔,方括号包围(comma-separated values (items) between ...
- python学习笔记——列表生成式与生成器
1.列表生成式(List Comprehensions) python中,列表生成式是用来创建列表的,相较于用循环实现更为简洁.举个例子,生成[1*1, 2*2, ... , 10*10],循环用三行 ...
- Python学习3——列表和元组
一.通用序列操作——索引.切片.相加.相乘.成员资格检查 1.索引,正序从0开始为第一个元素,逆序从-1开始,-1为最后一个元素 >>> greeting[0] 'h' >&g ...
- python学习之列表的定义以及增删改查
列表定义: >>> name['lily','lucy','tom'] >>> nums = [11,22,33,'100','lily'] #python中的列表 ...
- Python学习(五) Python数据类型:列表(重要)
列表: list是一组有序项目的数据结构. 列表是可变类型的数据,列表用[]进行表示,包含了多个以","分隔的项目. list=[] type(list) //<type ' ...
- python学习之列表语法
1.列表 1 list.append(obj)在列表末尾添加新的对象2 list.count(obj)统计某个元素在列表中出现的次数3 list.extend(seq)在列表末尾一次性追加另一个序列中 ...
- Python学习06——列表的操作(2)
笨办法学Python第39节 之前用的第三版的书,昨天发现内容不对,八块腹肌又给我下了第四版,这次的内容才对上.本节的代码如下: ten_things = "Apples Oranges C ...
- python学习04——列表的操作
笨办法学python第38节 如何创建列表在第32节,形式如下: 本节主要是讲对列表的操作,首先讲了 mystuff.append('hello') 的工作原理,我的理解是,首先Python找到mys ...
- python学习笔记——列表操作
python列表操作——增 append:追加一条数据到列表的最后 name = ["Zhangsan","XiongDa","Lisi"] ...
- python学习之列表和字典
列表 基本操作>>>len([1,3,4])3 >>>[1,2,3]+[4,5,6] +号两边必须是相同类型[1,2,3,4,5,6] >>> ...
随机推荐
- 图片上传封装类【包括图片上传和缩略图上传】.NET
原文发布时间为:2009-08-30 -- 来源于本人的百度文章 [由搬家工具导入] #region 上传图片及上传缩略图 public class UpFile : System.Web.UI ...
- hdu 5685(逆元)
Problem A Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total S ...
- 【原创】SSO-Javascript模拟IE登录,不让IIS弹出登录窗口
解决方案: 用JS模拟IE用户登录,再跳转到对应的系统. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN&q ...
- Educational Codeforces Round 39 (Rated for Div. 2) B. Weird Subtraction Process[数论/欧几里得算法]
https://zh.wikipedia.org/wiki/%E8%BC%BE%E8%BD%89%E7%9B%B8%E9%99%A4%E6%B3%95 取模也是一样的,就当多减几次. 在欧几里得最初的 ...
- 洛谷——P1306 斐波那契公约数
P1306 斐波那契公约数 题目描述 对于Fibonacci数列:1,1,2,3,5,8,13......大家应该很熟悉吧~~~但是现在有一个很“简单”问题:第n项和第m项的最大公约数是多少? 输入输 ...
- codevs——2853 方格游戏(棋盘DP)
时间限制: 1 s 空间限制: 128000 KB 题目等级 : 钻石 Diamond 题解 题目描述 Description 菜菜看到了一个游戏,叫做方格游戏~ 游戏规则是这样的: 在一个n*n的 ...
- java值传递和引用传递的理解
java的基础数据类型有:(byte.short.int.long.float.double.char.boolean)八种 基础数据都是值传递,其他都是引用传递.但是引用传递要特别注意:String ...
- 2016集训测试赛(二十四)Problem C: 棋盘控制
Solution 场上的想法(显然是错的)是这样的: 我们假设棋子是一个一个地放置的, 考虑在放置棋子的过程中可能出现哪些状态. 我们令有序整数对\((i, j)\)表示总共控制了\(i\)行\(j\ ...
- Maven错误“Failed to execute goal org.apache.maven.plugins:maven-archetype-plugin:2.4:create ”解决
用maven3新建一个项目时,输入的命令如下: mvn archetype:create 出现错误如下: [ERROR] Failed to execute goal org.apache.maven ...
- hdu1874最短路
裸裸的最短路问题,将while(scanf("%d%d", &N, &M)!=EOF)粗心写为while(scanf("%d%d", & ...