Python基础入门-列表解析式
今天我们使用Python中的列表解析式来实现一些简单功能。好了关于列表解析式是什么?我的理解是它可以根据已有列表,高效创建新列表的方式。列表解析是Python迭代机制的一种应用,它常用于实现创建新的列表,返回的是一个列表,因此用在[]中。好了,下面我们通过一些实际的例子来看一下列表解析式的使用:
生成1*1,2*2,3*3,4*4,5*5,6*6,9*9的序列
使用for循环的实现方法:
a = []
for i in range(1,11):
a.append(i*i)
print (a)
输出结果如下:
C:\Python34\python3.exe E:/Project_case/demo.py
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
使用列表解析式生成1*1,2*2,3*3,4*4........9*9的序列
a1 = [x*x for x in range(1,11)]
print (a1)
输出结果:
C:\Python34\python3.exe E:/Project_case/demo.py
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
生成1-100以内的偶数
a2 = []
for i in range(1,101):
if i %2==0:
a2.append(i)
else:
pass
print(a2)
输出结果:
[2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, 66, 68, 70, 72, 74, 76, 78, 80, 82, 84, 86, 88, 90, 92, 94, 96, 98, 100]
使用列表解析式:
a3 = [x for x in range(1,101) if x % 2==0]
print (a3)
输出结果:
[2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, 66, 68, 70, 72, 74, 76, 78, 80, 82, 84, 86, 88, 90, 92, 94, 96, 98, 100]
使用两层循环生成全排列
a4 = [m+n for m in 'ABCD' for n in 'abcd']
print(a4)
输出结果:
['Aa', 'Ab', 'Ac', 'Ad', 'Ba', 'Bb', 'Bc', 'Bd', 'Ca', 'Cb', 'Cc', 'Cd', 'Da', 'Db', 'Dc', 'Dd']
使用变量生成List
#字典实现方法items
demo = {'A':'a','B':'b','C':'c','D':'d'}
for k,v in demo.items():
print(k,'====',v)
转换列表解析式:
demo = {'A':'a','B':'b','C':'c','D':'d'}
a5 = [k + '===' + v for k,v in demo.items()]
print(a5)
输出结果:
C:\Python34\python3.exe E:/Project_case/demo.py
['A===a', 'B===b', 'D===d', 'C===c'] 进程已结束,退出代码0
将LIST中大写变成小写
a = ['Python','Java','PHP','Javascript','Monkey']
a6 = [x.lower() for x in a]
print(a6)
输出结果:
C:\Python34\python3.exe E:/Project_case/demo.py
['python', 'java', 'php', 'javascript', 'monkey']
列出当前目录下所有文件和目录
import os #导入模块
demo = [x for x in os.listdir('.')]
print(demo[-1]) #列出最后一个文件夹名
输出结果:
C:\Python34\python3.exe E:/Project_case/demo.py
WordPress_POM
列出当前文件夹下面的py文件
import os
d = [x for x in os.listdir('.') if x.endswith('.py')]
print(d)
输出结果:
C:\Python34\python3.exe E:/Project_case/demo.py
['cjol.py', 'demo.py']
Python基础入门-列表解析式的更多相关文章
- python基础入门 列表
列表 1.关键字---list 2.定义:用来存储数据可存储多种数据类型 支持索引,切片 是有序的 可变的 3.定义一个列表 l1 = ['列表','字符串','lnh',123,'kk0','ttt ...
- Python基础入门教程
Python基础入门教程 Python基础教程 Python 简介 Python环境搭建 Python 基础语法 Python 变量类型 Python 运算符 Python 条件语句 Python 循 ...
- Python基础入门总结
Python基础入门教学 基础中的基础 列表.元组(tuple).字典.字符串 变量和引用 函数 python视频教程下载 基础中的基础 解释型语言和编译型语言差距: Python概述 解释器执行原理 ...
- [新手必备]Python 基础入门必学知识点笔记
Python 作为近几年越来越流行的语言,吸引了大量的学员开始学习,为了方便新手小白在学习过程中,更加快捷方便的查漏补缺.根据网上各种乱七八糟的资料以及实验楼的 Python 基础内容整理了一份极度适 ...
- Python基础数据类型-列表(list)和元组(tuple)和集合(set)
Python基础数据类型-列表(list)和元组(tuple)和集合(set) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客使用的是Python3.6版本,以及以后分享的 ...
- python基础之列表list元组tuple
作者:tongqingliu 转载请注明出处:http://www.cnblogs.com/liutongqing/p/7041763.html python基础之列表list元组tuple 列表li ...
- python基础数据类型--列表(list)
python基础数据类型--列表(list) 列表是我们在后面经常用到的数据类型之一,通过列表可以对数据类型进行增.删.改.查等操作 一列表的增.删.改.查 1增: 1.1增加到最后 append ...
- python 列表推导式 - python基础入门(16)
截止到目前为止,python基础内容已经学习了50%左右,在学习编程过程中,我们不仅要学习python语法,同时也需要学习如何把自己代码写的更美观,效率更高. 一.什么是推导式 推导式是从一个或者多个 ...
- Python基础入门知识
本节内容 Python介绍 发展史 Python 2 or 3? 安装 Hello World程序 变量 用户输入 模块初识 .pyc是个什么鬼? 数据类型初识 数据运算 表达式if ...else语 ...
随机推荐
- egg 使用手记(一)
1. 文件加载规则 引用官方的说法: 框架在加载文件时会进行转换,因为文件命名风格和 API 风格存在差异.我们推荐文件使用下划线,而 API 使用驼峰.比如 app/service/user_inf ...
- ASP.NET Cache缓存的使用
ASP.NET Cache是提升系统性能的重要方法,它使用了“最近使用”原则(a least-recently-used algorithm).在数据库访问中经常会用到Cache保存数据库数据. 1. ...
- (转)Android 使用com.j256.ormlite
在web开发中经常采用的hibernate,在android也提供了一个ormlite 导入所需jar包后 摘自:http://blog.csdn.net/cuiran/article/details ...
- (转)RadioButton左侧显示文字,右侧显示按钮时文字不靠边的问题解决
作者: 发布日期:2014-02-13 21:00:45 我来说两句(0) 0 Tag标签:RadioButton 左侧 显示 项目中有一个这样的需求: 下面三行点击某行即选中,颜色变深.自 ...
- 开启mac terminal 命令/路径自动补全功能
用惯了windows命令行工具的按Tab自动补全路径功能后,在mac terminal上敲命令很不习惯.其实mac terminal也有这个功能. 在命令行输入nano .inputrc 进入.inp ...
- 题目1534:数组中第K小的数字 ——二分
http://ac.jobdu.com/problem.php?pid=1534 给定两个整型数组A和B.我们将A和B中的元素两两相加可以得到数组C.譬如A为[1,2],B为[3,4].那么由A和B中 ...
- laravel中好用的支付安装包
是包括支付宝和微信的支付 准用包,在测试中 https://github.com/yansongda/laravel-pay 这个包,看上去很好但是composer require时,要求php太高, ...
- FIR滤波器相关解释
LTI(Linear Time-Invariant) 线性时不变: 线性时不变系统是根据系统输入和输出是否具有线性关系来定义的.满足叠加原理的系统具有线性特性.线性满足y=kx函数. 根据系统的输入和 ...
- hibernate中dialect的讲解
RDBMS方言 DB2 org.hibernate.dialect.DB2Dialect DB2 AS/400 org.hibernate.dialect.DB2400Dialect DB2 OS39 ...
- windows下配置protobuf2.6.1
步骤: 下载protobuf-2.6.1.zip和protoc-2.6.1-win32.zip,地址:https://github.com/google/protobuf/tags 到目录protob ...