当前位置: 首页 > news >正文

python生成list_python 使用循环生成list

#-*- coding:UTF-8 -*-

squares=[]

for x in range(10):

squares.append(x**2)

print squares

#[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

#等价于

squares=[x**2 for x in range(10)]

print squares

#[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

combs=[]

for x in [1,2,3]:

for y in [3,1,4]:

if x!=y:

combs.append((x,y))

print combs

#等价于:

combs=[(x,y) for x in [1,2,3] for y in [3,1,4] if x!=y]

print combs

#[(1, 3), (1, 4), (2, 3), (2, 1), (2, 4), (3, 1), (3, 4)]

vec=[-4,-2,0,2,4]

print [x*2 for x in vec]

#[-8, -4, 0, 4, 8]

print 30*'*','print [x for x in vec if x>=0]',30*'*'

print [x for x in vec if x>=0]

#[0, 2, 4]

print [abs(x) for x in vec]

#[4, 2, 0, 2, 4]

freshfruit=[' banana',' apple ','loganberry ','passion fruit ']

#strip() 去除字符串首尾空格

print [weapon.strip() for weapon in freshfruit]

#['banana', 'apple', 'loganberry', 'passion fruit']

print 30*'*',"[(x,x**2) for x in range(6)]",30*'*'

print [(x,x**2) for x in range(6)]

#[(0, 0), (1, 1), (2, 4), (3, 9), (4, 16), (5, 25)]

vec=[[1,2,3],[4,5,6],[7,8,9]]

print [num for elem in vec for num in elem]

#[1, 2, 3, 4, 5, 6, 7, 8, 9]

matrix=[[1,2,3,4],[5,6,7,8],[9,10,11,12]]

#list中的每个元素都是list,将list中的每个list元素中的元素按照索引组合成一个新的list

print [[row[i] for row in matrix] for i in range(4)]

#[[1, 5, 9], [2, 6, 10], [3, 7, 11], [4, 8, 12]]

transposed=[]

for i in range(4):

transposed.append([row[i] for row in matrix])

print transposed

#[[1, 5, 9], [2, 6, 10], [3, 7, 11], [4, 8, 12]]

#等价于:

transposed=[]

for i in range(4):

transposed_row=[]

for row in matrix:

transposed_row.append(row[i])

transposed.append(transposed_row)

print transposed

#等价于zip(*matrix)

print zip(*matrix)

#[(1, 5, 9), (2, 6, 10), (3, 7, 11), (4, 8, 12)]

此外,map()也可以返回list,map()是 Python 内置的高阶函数,它接收一个函数 f 和一个 list,并通过把函数 f 依次作用在 list 的每个元素上,得到一个新的 list 并返回。

#lambda表示匿名函数,冒号前面的x表示函数参数,冒号后面是表达式,匿名函数有个限制,就是只能有一个表达式,不用写return,返回值就是该表达式的结果

squares=map(lambda x:x**2,range(10))

print squares

#[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

相关文章:

  • 关于vue中的nextTick深入理解
  • hashmap 遍历_你一般是怎么遍历HashMap的?
  • 团队名称:极限定理
  • 人工智能的三层基本架构_“人工智能”如何“深度学习”?
  • SQLite3使用详解
  • class反编译成java_Java源代码保护方法,通过加密技术保护源代码
  • 英伟达硬件加速编解码
  • python字典属于无序序列_五:Python序列之字典
  • Excel作为数据源TesTNG做数据驱动完整代码
  • ps工具预设_「设计干货」不要浪费时间调整设计效果图了,20款灯光预设送你用...
  • 游戏设计的236个技巧pdf
  • python index函数应用_Python pandas.DataFrame.set_index函数方法的使用
  • Nginx的配置安装和使用
  • pythonpygame游戏代码_使用Python第三方库pygame写个贪吃蛇小游戏
  • onchange事件实现编辑_Openlayer——绘制可编辑几何要素
  • 【跃迁之路】【585天】程序员高效学习方法论探索系列(实验阶段342-2018.09.13)...
  • 2018天猫双11|这就是阿里云!不止有新技术,更有温暖的社会力量
  • AHK 中 = 和 == 等比较运算符的用法
  • CentOS 7 防火墙操作
  • Centos6.8 使用rpm安装mysql5.7
  • ES6之路之模块详解
  • Go 语言编译器的 //go: 详解
  • JAVA 学习IO流
  • Java知识点总结(JDBC-连接步骤及CRUD)
  • Linux下的乱码问题
  • MySQL Access denied for user 'root'@'localhost' 解决方法
  • Nacos系列:Nacos的Java SDK使用
  • React-Native - 收藏集 - 掘金
  • seaborn 安装成功 + ImportError: DLL load failed: 找不到指定的模块 问题解决
  • Sequelize 中文文档 v4 - Getting started - 入门
  • SpringCloud集成分布式事务LCN (一)
  • use Google search engine
  • ------- 计算机网络基础
  • 力扣(LeetCode)22
  • 七牛云 DV OV EV SSL 证书上线,限时折扣低至 6.75 折!
  • 异常机制详解
  • 用quicker-worker.js轻松跑一个大数据遍历
  • 用Visual Studio开发以太坊智能合约
  • 你对linux中grep命令知道多少?
  • zabbix3.2监控linux磁盘IO
  • 完善智慧办公建设,小熊U租获京东数千万元A+轮融资 ...
  • #pragma multi_compile #pragma shader_feature
  • $var=htmlencode(“‘);alert(‘2“); 的个人理解
  • (zz)子曾经曰过:先有司,赦小过,举贤才
  • (二)Pytorch快速搭建神经网络模型实现气温预测回归(代码+详细注解)
  • (每日持续更新)信息系统项目管理(第四版)(高级项目管理)考试重点整理 第13章 项目资源管理(七)
  • (一)RocketMQ初步认识
  • (正则)提取页面里的img标签
  • (转)拼包函数及网络封包的异常处理(含代码)
  • (轉貼) 蒼井そら挑戰筋肉擂台 (Misc)
  • . Flume面试题
  • .halo勒索病毒解密方法|勒索病毒解决|勒索病毒恢复|数据库修复
  • .NET 6 Mysql Canal (CDC 增量同步,捕获变更数据) 案例版
  • .net MVC中使用angularJs刷新页面数据列表
  • .NET Standard 的管理策略