python中列表的使用最多, 常用的方法有:

append(value)
extend(L) 添加指定列表的所有元素
insert(index, value) 插入
remove(value)
pop(index) 不指定删除最后一个,
clear() 清空
count(value) 统计有多少个
sort() 排序
reverse() 到序
copy() 潜复制

对列表遍历的3种方式;

  #!/usr/bin/env python
# -*- coding: utf- -*-
if __name__ == '__main__':
list = ['html', 'js', 'css', 'python'] # 方法1
print '遍历列表方法1:'
for i in list:
print ("序号:%s 值:%s" % (list.index(i) + , i)) print '\n遍历列表方法2:'
# 方法2
for i in range(len(list)):
print ("序号:%s 值:%s" % (i + , list[i])) # 方法3
print '\n遍历列表方法3:'
for i, val in enumerate(list):
print ("序号:%s 值:%s" % (i + , val)) # 方法3
print '\n遍历列表方法3 (设置遍历开始初始位置,只改变了起始序号):'
for i, val in enumerate(list, ):
print ("序号:%s 值:%s" % (i + , val))

其他的:

1, 列表推导式

列表推到式, 从序列简单的创建列表
将操作应用于序列的每个元素, 将其结果作为新的列表元素
需要用 [], 元组用()
每个列表推到是都在for之后创建一个表达式, 然后有0-多个 for或if子句, 返回结果
是一个根据表达式从背后的for和if上下文环境中生成的列表, 如果希望推到出一个元组, 必须用口号
# × 获取一个新的列表
vec = [, , ]
new_vec = [ * x for x in vec]
print(new_vec) # 获取一个map
dict = [(x, x**) for x in vec]
print(dict) # 对序列中元素租个调用
fruits = ['banana', 'apple', 'oragin']
new_fruits = [fruit.upper() for fruit in fruits]
print(new_fruits) # 使用if
if_vec = [ * x for x in vec if x > ]
print(if_vec) # 2个列表混搭的
vec2 = [, , -]
lista = [x * y for x in vec for y in vec2]
listb = [vec[i] * vec2[i] for i in range(len(vec))] print(lista)
print(listb)

字典推导

# 字典 推导
new_dict = {x + : x** + for x in range()}
print(new_dict)

2, 嵌套列表的转换

比如, 我想把一个 3 * 4 的列表转换为 4 * 3 的列表

matrix = [
[, , , ],
[, , , ],
[, , , ]
] new_matrix = [[row[i] for row in matrix] for i in range()]
print(new_matrix) # 上面的相当于
matrix_1 = []
for i in range():
matrix_1.append([row[i] for row in matrix])
print(matrix_1) # 获取进一步改写
matrix_2 = []
for i in range():
ineer = []
for row in matrix:
ineer.append(row[i])
print(row[i], end=', ')
print('---', row)
print(matrix_2) for row in matrix:
print(row)
3, 使用enumerate进行遍历
# 字典 推导
new_dict = {x + : x** + for x in range()}
print(new_dict) # 字典的遍历
for k, v in new_dict.items():
print(k, v)
# 返回索引的, dict返回key
for i, v in enumerate(new_dict):
print(i, v) # 遍历2个货更多的序列, 使用 zip(), 去最短的序列
questions = ['name', 'quest', 'favorite']
answers = ['lancelot', 'the', 'blue', 'abc'] for q, a in zip(questions, answers):
print(q, a) # 反向遍历集合
for q in reversed(questions):
print(q)

enumerate返回的是一个迭代器对象, 里面包含一个yield, 可以返回函数的运行状态

我们也可以使用yield来实现一个简单的迭代器

												

04-python的列表操作的更多相关文章

  1. Python:列表操作总结

    一.创建一个列表 只要把逗号分隔的不同数据项使用方括号括起来即可 list1=['physics','chemistry',1997,2000] list2=[1,2,3,4,5,6,7] [注]:1 ...

  2. python之列表操作的几个函数

    Python中的列表是可变的,这是它却别于元组和字符串最重要的特点,元组和字符串的元素不可修改.列举一些常用的列表操作的函数和方法. 1,list.append(x),将x追加到列表list末尾: 1 ...

  3. python之列表操作(list)

    # 列表操作功能汇总 print("列表操作功能汇总") list_demo = ['first', 'second', 'thrid', 'fourth'] # 复制list_d ...

  4. 关于python的列表操作(一):取值,增加,修改,删除

    # 列表操作 name_list = ["wang", "niu", "bai", "sui"] # 取值 print( ...

  5. 关于python的列表操作(二):排序,统计

    # 列表操作 num_list = [2, 5, 8, 6, 7, 9, 5, 7] # 升序 num_list.sort() print(num_list) # 降序 num_list.sort(r ...

  6. Python中列表操作进阶及元组

    列表高级操作 一.遍历列表 >>> ls=['a','d','it'] >>> for val in ls: ... print (val) ... a d it ...

  7. Python中列表操作函数append的浅拷贝问题

    L=int(input())#L位数N=int(input())#N进制row=[]list1=[]for i in range(1,N): row.append(1)list1.append(row ...

  8. python基础-----列表操作

    在Python中用[]来表示列表,并用逗号隔开其中的元素. 1.访问列表元素 name=["zhangsan","lisi","ljy"] ...

  9. python之列表操作

    1.列表的增操作(四种) append(object):append object to end,directly used on list insert(index,object):insert o ...

  10. Python 之列表操作

    # len(list)列表元素个数 # max(list)返回列表元素最大值 # min(list)返回列表元素最小值 # list(seq)将元组转换为列表 # list.append(obj)在列 ...

随机推荐

  1. 从0学习JQ

    转 张子秋的博客 为以后用到的时候好查询! 从零开始学习jQuery (一) 开天辟地入门篇 从零开始学习jQuery (二) 万能的选择器 从零开始学习jQuery (三) 管理jQuery包装集 ...

  2. Linux 用 sftp scp命令 互传文件

    sftp它类似于 ftp, 但它进行加密传输,比FTP有更高的安全性. sftp 是SSH服务的子程序 常用命令 pwd 查看当前工作目录 ls 查看远程当前目录下的所以文件或者目录信息 lls 查看 ...

  3. 使用Xcode 7 beta免费真机调试iOS应用程序

    使用Xcode 7 beta免费真机调试iOS应用程序 六月 9, 2015  |   K-Res 发布   今天凌晨的WWDC15虽然没有熬夜守候吧,但也还是早起第一时间翻看了twitter的相关标 ...

  4. 使用SignalR 2进行服务器广播

    概述 在本教程中,您将创建一个股票代码应用程序,该应用程序代表您希望定期“推送”或广播从服务器到所有连接客户端的通知的实时应用程序.在本教程的第一部分中,您将从头开始创建该应用程序的简化版本.在本教程 ...

  5. javascript 对象克隆

    浅克隆 先看代码: /** * 浅克隆 克隆传入对象,只克隆一层 * @param {any} source */ function shallowClone(source) { var tiaget ...

  6. .net图表之ECharts随笔09-pie环形图表

    这是最后的效果图 1. 这里title属性用到了富文本标签 官方文档是用的label属性,看得我一开始格外的懵逼.后面我尝试着在text中写入格式,没想到竟然成功了. rich中定义样式,在text中 ...

  7. 【cocos2d-x 手游研发----地图活起来了】

    谈到地图不少人都说要做地图编辑器了,但是我暂时绕过这一步,如果不用寻路地图就不能移动?寻路就是会绕过障碍物的算法. 我做了一个简单的地图的思想,就是地图分层3层:背景层.可行区域层.遮罩层,但是地图就 ...

  8. Day 24 继承

    # 一.什么是继承 # 继承是一种创建新类的方式,在python中,新建的类可以继承一个或多个父类,父类又可成为基类或超类,新建类称为派生类或子类.# python中类的继承分为:单继承和多继承cla ...

  9. Day 12 装饰器,开发封闭.

    一.什么是装饰器 装饰器本质上就是一个python函数,他可以让其他函数在不需要做任何代码变动的前提下,增加额外的功能,装饰器的返回值也是一个函数对象. 装饰器的应用场景:比如插入日志,性能测试,事务 ...

  10. perl(ExtUtils::Embed)依赖包

       perl(ExtUtils::Embed) 被 ****需要    yum install perl-ExtUtils-Embed即可