Python学习之旅(十二)
Python基础知识(11):高级特性
一、分片(切片)
通过索引来获取一定范围内的元素
#字符串
s="Alice"
s[0:4:2]
结果:
'Ai' #列表
l=[1,2,3,4,5,6]
l[0:2]
结果:
[1, 2] #元组
t=(1,2,3,"a","b","c")
t[:]
结果:
(1, 2, 3, 'a', 'b', 'c')
二、迭代
给定一个元组或列表,通过for循环遍历,这种遍历称为迭代
def test():
l=["A","l","i","c","e"]
for i in l:
print(i) test()
结果:
A
l
i
c
e
通过collections模块的Iterator判断一个对象是否是可迭代对象
from collections import Iterable
isinstance("more", Iterable)
结果:True
enumerate
函数可以把一个list变成索引-元素对,可以在for
循环中同时迭代索引和元素本身:
for i in enumerate(["more","money","never","God"]):
print(i) 结果:
(0, 'more')
(1, 'money')
(2, 'never')
(3, 'God')
三、列表生成式
可以用list(range(1, 11))
生成列表 [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
列表生成式用一行语句代替循环生成列表
l=[]
for i in range(1,10):
l.append(i*i) 结果:
[1, 4, 9, 16, 25, 36, 49, 64, 81] [x*x for x in range(1,10)]
结果:
[1, 4, 9, 16, 25, 36, 49, 64, 81]
四、生成器
生成器generator:列表中的元素可以在循环中按照某种算法推算出来机制
创建一个generator的方法:
1、把一个列表生成式的[]改成(),就创建了一个generator:
L = [x * x for x in range(9)]
L
结果:
[0, 1, 4, 9, 16, 25, 36, 49, 64]
五、迭代器
凡是可作用于for
循环的对象都是Iterable
类型
凡是可作用于next()
函数的对象都是Iterator
类型,它们表示一个惰性计算的序列
集合数据类型如list
、dict
、str
等是Iterable
但不是Iterator
,不过可以通过iter()
函数获得一个Iterator
对象
资料来源:
廖雪峰官方网:https://www.liaoxuefeng.com
Python学习之旅(十二)的更多相关文章
- Python学习之旅(二十九)
Python基础知识(28):常用第三方模块 一.Pillow PIL(Python Imaging Library):提供了强大的图像操作功能,可以通过简单的代码完成复杂的图像处理,是Python平 ...
- Python学习之旅(二十四)
Python基础知识(23):进程和线程(Ⅱ) 一.threadlocal 在多线程环境下,每个线程都有自己的数据 一个线程使用自己的局部变量比使用全局变量好,因为局部变量只有线程自己能看见,不会影响 ...
- Python学习之旅(二十二)
Python基础知识(21):IO编程 一.文件读写 读写文件就是请求操作系统打开一个文件对象(文件描述符),然后,通过操作系统提供的接口从这个文件对象中读取数据(读文件),或者把数据写入这个文件对象 ...
- Python学习之旅(二十八)
Python基础知识(27):常用内建模块(Ⅲ) 1.urlblib urllib提供了一系列用于操作URL的功能 url是统一资源定位符,对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示, ...
- Python学习之旅(二十六)
Python基础知识(25):常用内建模块 1.datetime:处理日期和时间 (1)获取当前日期和时间 from datetime import datetime now = datetime.n ...
- Python学习之旅(二十五)
Python基础知识(24):正则表达式 正则表达式:检查一个字符串是否与某个模式匹配 \d :匹配数字 \w :匹配字母或数字 . :匹配任意字符 {n} :匹配n个字符 {m,n} :匹配m到n个 ...
- Python学习之旅(二十)
Python基础知识(19):面向对象高级编程(Ⅱ) 定制类 形如“__xx__”的变量或函数在Python中是有特殊用途的 1.__str__ 让打印出来的结果更好看 __str__:面向用户:__ ...
- Python学习【第十二篇】模块(2)
序列化 1.什么是python序列化? 把变量从内存中变成可存储或传输的过程称之为序列化,在Python中叫pickling 序列化就是将python的数据类型转换成字符串 反序列化就是将字符串转换成 ...
- Python学习(四十二)—— Djago-model进阶
一.QuerySet 可切片 使用Python 的切片语法来限制查询集记录的数目 .它等同于SQL 的LIMIT 和OFFSET 子句. Entry.objects.all()[:5] # (LIMI ...
- Python学习(三十二)—— Django之视图系统
转载自:http://www.cnblogs.com/liwenzhou/articles/8305104.html Django的View(视图) 一个视图函数(类),简称视图,是一个简单的Pyth ...
随机推荐
- 命令 上传项目到git中
点击Clone or dowload会出现一个地址,copy这个地址备用. 接下来就到本地操作了,首先右键你的项目,如果你之前安装git成功的话,右键会出现两个新选项,分别为Git Gui Here, ...
- Xcode9.2打包图片显示异常解决方案
链接:https://www.jianshu.com/p/ca0bbb403143來源:简书 在使用Xcode9.2适配iPhone X的过程中遇到了部分图片显示异常(不显示或花掉)的问题.主要分两种 ...
- redis学习 (key)键,Python操作redis 键 (二)
# -*- coding: utf-8 -*- import redis #这个redis 连接不能用,请根据自己的需要修改 r =redis.Redis(host=") 1. delete ...
- Tomcat热部署的三种方式
原文地址:https://blog.csdn.net/nlwangxin/article/details/49734659热部署是指在你修改项目BUG的时候对JSP或JAVA类进行了修改在不重启WEB ...
- iOS Message from debugger: Terminated due to memory issue ~解决方法
一.概念: /** 1.内存管理概念 2.查看其他技术分享结论 3.产生崩溃原因 4.解决方法以及思路 CSND: https://blog.csdn.net/shihuboke/article/de ...
- 文档大师 在Win10 IE11下,文档集画面无法正常显示Word等Office文档的解决方法
在文档集界面中显示Word文档,是文档大师的一个核心功能. 最近在 Win10 升级到最新版后,发现 无法正常显示Office 文档的问题. 一开始以为是Word版本问题,从2007升级到2016,问 ...
- asp.net mvc 微信支付代码分析(根据沐雪微信平台3.1商城业务来分析)
开发微信应用,微信支付是永远要面对的.现在的微信支付相对以往已经很稳定,很少出现诡异情况.再加上无数人开发的经验分享,现在开发微信支付已经没什么难度了. 我这次主要是想基于沐雪微信平台的微商城业务来分 ...
- git 创建tag , 查看tag , 删除tag
简介 用git了很久了,也喜欢这个版本控制工具,今天来分享下,怎么用命令创建tag,查看tag,删除tag和把本地tag推到远程git服务器上 C:\Users\\WandaPuHuiProject ...
- 【iCore4 双核心板_FPGA】例程十七:基于FIFO的ARM+FPGA数据存取实验
实验现象: 核心代码: int main(void) { /* USER CODE BEGIN 1 */ int i; int fsmc_read_data; ; ]; ]; char *p; /* ...
- WireShark如何抓取本地localhost的包
今天将自己的电脑既作为客户端又作为服务端进行一个程序的测试,想着用WireShark来抓包分析一下问题,但由于WireShark只能抓取经过电脑网卡的包,由于我是使用localhost或者127.0. ...