Python学习之旅

Posted finsom

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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类型,它们表示一个惰性计算的序列

集合数据类型如listdictstr等是Iterable但不是Iterator,不过可以通过iter()函数获得一个Iterator对象

 

资料来源:

廖雪峰官方网:https://www.liaoxuefeng.com





以上是关于Python学习之旅的主要内容,如果未能解决你的问题,请参考以下文章

我的C语言学习进阶之旅解决 Visual Studio 2019 报错:错误 C4996 ‘fscanf‘: This function or variable may be unsafe.(代码片段

我的OpenGL学习进阶之旅NDK开发中find_library查找的系统动态库在哪里?

我的OpenGL学习进阶之旅NDK开发中find_library查找的系统动态库在哪里?

python学习之旅-06 之小数据池,编码

仅以此博开启我的python学习之旅~~~~~~~

Unity Shader入门精要学习笔记 - 第5章 开始 Unity Shader 学习之旅