Python入门教程之高级特性

栏目: Python · 发布时间: 5年前

内容简介:在Python基础篇里,我们知道Python的可序列对象可以通过索引号(下标)来引用对象元素,索引号可以由0开始从左向右依次获取,可以从-1开始由右向左获取。这种方法可以帮助我们依次获取我们想要的元素。而切片可以帮助我们获取被切片元素的副本。可序列对象切片时所需要的参数[start_index:stop_index:step]start_index:切片的起始位置

切片

Python 基础篇里,我们知道Python的可序列对象可以通过索引号(下标)来引用对象元素,索引号可以由0开始从左向右依次获取,可以从-1开始由右向左获取。这种方法可以帮助我们依次获取我们想要的元素。而切片可以帮助我们获取被切片元素的副本。

可序列对象切片时所需要的参数[start_index:stop_index:step]

start_index:切片的起始位置

stop_index:切片的结束为止(不包括)

step:步长,可选参数。默认值是1,但不能为0.表示依次递增。

假设testList=[ 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9]
操作
解释 输出
print(testList)
打印测试列表 [1, 2, 3, 4, 5, 6, 7, 8, 9]
print(testList[:])
输出列表中所有元素 [1, 2, 3, 4, 5, 6, 7, 8, 9]
print(testList[1:7:2])
从第二个开始,到第8个元素(不包含),每次间隔2个元素 [2,4,6]
print(testList[:5])
从第一个开始,到第6个(不包含),默认间隔1个元素 [1,2,3,4,5]
print(testList[-5 : ]) 从右往左第五个开始至最后一个元素结束,默认间隔1个元素 [5,6,7,8,9]
print(testList[ ::2 ]) 从第一个开始,到最后一个结束,每次间隔2个元素 [1,3,5,7,9]
print(testList[ ::-1 ]) 从第一个开始,至最后一个结束,倒序间隔一个元素 [9, 8, 7, 6, 5, 4, 3, 2, 1]
testList[1:2]=['a']
print(testList)
从第2个元素开始,第三个元素结束(不包含),插入并替换该区间元素 [1, 'a', 3, 4, 5, 6, 7, 8, 9]
del testList[1]
print(testList)
删除第二个元素,请注意,这时只是从原来对象中的副本中删除后重新获取一个新的引用对象。 [1, 3, 4, 5, 6, 7, 8, 9]
del testList[1::2]
从第二个元素开始删除对象元素,至最后一个元素结束,每次间隔2个 [1, 3, 5, 7, 9]

迭代

在开发语言中,遍历获取可序列对象我们称之为迭代。Python中,不仅可以像其他语言一样迭代可序列对象还可以迭代任意可序列化对象。例如 字典,字符串,元祖

案例
解释 输出
testList=[1,2,3]
for i in testList:
    print(i)
迭代列表

1

2

3

testStr='hello'
for i in testStr:
    print(i)
迭代字符串

h

e

l

l

o

testDic={'name':'zhangsan','age':18}
for i in testDic:
    print(i)
循环字典,默认输出key

name

age

判断一个元素是否可以被迭代

在Python中可以通过collections模块的Iterable类型判断元素是否可以被迭代,当元素允许被迭代时返回True,反之返回False

from collections import Iterable
案例 解释 输出
a= isinstance( 'abc'

,Iterable)

print(a)

判断字符串(python中'a'也将作为字符串"a")使用 True
testList=[ 1 , 2 ,

3]

isinstance(testList

,Iterable)

print(a)

判断列表 True
testDict={ 'name': 'zhangsan' , 'age':

18}

isinstance(testDict

,Iterable)

print(a)

判断字典 True
testTuple=( 1 , 2 ,

3)

isinstance(testTuple

,Iterable)

print(a)

判断元祖 True
testInt=

123

isinstance(testInt

,Iterable)

print(a)

判断数值 False

列表生成式

Python中列表生成式不仅可以迭代输出对象元素,还可以简化我们的代码。

例如 我们需要得到10以内n*n
列表生成式
l=[]
for x in range(1,11):
    l.append(x*x)
print(l)
n=[x*x for x in range(1,11)]
print(n)
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

列表生成式与if条件一起使用

仅输出能被2整除的数
for 循环
列表生成式 输出
l=[1,2,4,5,6,7,8,9]
k=[]
for i in l:
    if i %2==0:
        k.append(i)
print(k)
l=[1,2,4,5,6,7,8,9]
n=[x   for x in  l if x%2==0 ]
print(n)
[2,4,6,8]

列表生成式与字典一起使用

for循环 列表生成式 输出
testDict={'name':'zhangsan','age':18}
for n in testDict:
    print(n+'=:'+str(testDict[n]))
testDict={'name':'zhangsan','age':18}
b=[ k +'=' +str(v) for k ,v in testDict.items()]
print(b)
name=:zhangsan
age=:18
和
['name=zhangsan', 'age=18']

Linux公社的RSS地址https://www.linuxidc.com/rssFeed.aspx

本文永久更新链接地址: https://www.linuxidc.com/Linux/2018-10/154610.htm


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Intel系列微处理器体系结构、编程与接口

Intel系列微处理器体系结构、编程与接口

布雷, / 机械工业出版社 / 2005-4 / 99.00元

本书是讲述Intel微处理器的国外经典教材,已经多次再版,经过长期教学使用,吐故纳新,不断完善,内容丰富,体系完整。第6版中包含了微处理器领域的最新技术发展,涵盖了Pentium 4的内容。本书结合实例讲解工作原理,并给出小结和习题,既适合教学使用,也适合自学。书中许多实例都可以作为开发类似应用的模板和原型,极具实用价值。附录还给出了备查资料,供设计和调试汇编语言时使用。本书可作为高等院校计算机、......一起来看看 《Intel系列微处理器体系结构、编程与接口》 这本书的介绍吧!

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

MD5 加密
MD5 加密

MD5 加密工具

html转js在线工具
html转js在线工具

html转js在线工具