上一周弄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))
领取专属 10元无门槛券
私享最新 技术干货