Python学习之路——切片&迭代

上一周弄DMP大屏紧急项目,完全抽不出时间来,断了一周没有发代码;今天是五一假期第一天,要重新把代码发起来,废话不多说,今天的内容是Python的切片和迭代方法。

切片

切片的意思是将一个对象进行截取,Python的切片方法简单而且灵活。

#!/usr/bin/env python3

# -*- coding: utf-8 -*-

#通过切片取list、tuple需要的值

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

tuple=(1,2,3,4,5,6,7,8,9,10.11)

#list[x:y]表示取从索引开始到索引3,包括x,不包括y

print(list[:3])

print(tuple[:3])

#list[x:y]如果是从开始,那么x可以省略不写,如果取到最后一个,y可以不写

print(list[:3])

print(list[3:])

print(list[:])

#字符串也可以当成list,因此也可以切片,因此Python不需要substring之类的字符串截取函数

str='123456789'

print(str[2:5])

'''练习

利用切片操作,实现一个trim()函数,去除字符串首尾的空格,注意不要调用str的strip()方法:'''

迭代

迭代是将对象的元素一个个遍历,Python的迭代用for in语句来实现,有没有感觉就是for循环!

#!/usr/bin/env python3

# -*- coding: utf-8 -*-

#Python使用for in来迭代,无能是否有下标(索引),都可以迭代,比如dict

dict={'A':1,'B':2,'c':3}

forxindict:

print(x)

#dict迭代默认返回key,可以通过values()函数来返回dict的values

forxindict.values():

print(x)

#用items()函数可以同时返回dict的key和vlues

forx,yindict.items():

print(x,y)

#字符串也是可迭代对象

str='12345'

forxinstr:

print(x)

#许多对象都可以迭代,要检查对象是否可以迭代,可以用collections模块的Iterable类型判断

fromcollectionsimportIterable

print(isinstance(str,Iterable))#字符串是否可迭代

print(isinstance(list,Iterable))#list是否可迭代

print(isinstance(123,Iterable))#整数是否可迭代

#enumerate()函数可以把list变成索引-元素,然后可以通过for in迭代返回索引

forx,yinenumerate(str):

print(x,y)

print(x)

'''请使用迭代查找一个list中最小和最大值,并返回一个tuple:'''

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

defmaxmin(list):

if notisinstance(list,Iterable):

print('数据类型错误,无法迭代!')

returnlist

iflen(list) ==:

print('对象没有内容,无法迭代!')

return(None,None)

max = list[]

min = list[]

forxinlist:

ifmax

max=x

ifmin>x:

min=x

return(max,min)

print(maxmin(list))

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180429G1HTHF00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券