1、切片
S=list(range(15))
print(S) #[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]
print(S[0],S[1],S[2]) #0 1 2
print(S[0:3]) #[0, 1, 2],S[0]到S[3],包括S[0]不包括S[3]
print(S[:3]) #[0, 1, 2],起始值为0时可以省略
print(S[1:3]) #[1, 2] ,S[1]到S[3],包括S[1]不包括S[3]
print(S[-1]) #14 ,倒数第一个元素
print(S[-5:]) #[10, 11, 12, 13, 14] #倒数最后5个元素
print(S[2:5]) #[2, 3, 4]
print(S[:5:2]) #[0, 2, 4] ,S[0]到S[5],每隔2个取一个值
print(S[::5]) #[0, 5, 10],S全部元素,每隔5个取一个值
print(S[::1]) #[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]
print(S[::-1]) # [14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
print(S[-2]) #13,倒数第二个元素
2、迭代:
当我们使用for
循环时,只要作用于一个可迭代对象,for
循环就可以正常运行,那么,如何判断一个对象是可迭代对象呢?方法是通过collections模块的Iterable类型判断:
from collections import Iterable
d = {'a': 1, 'b': 2, 'c': 3}
print(isinstance(d,Iterable)) #True
print(isinstance(123,Iterable)) #False
print(isinstance('123',Iterable)) #True
for i in d.values():
print(i) #1 2 3
for k in d.keys():
print(k) #a b c
for n,m in d.items():
print(n,m) #1 a 2 b 3 c
请使用迭代查找一个list中最小和最大值,并返回一个tuple:
#请使用迭代查找一个list中最小和最大值,并返回一个tuple:
str_h=[1,3,6,9,0,2,4]
def findMinAndMax(L):
if L == []:
return (None, None)
else:
return (min(L), max(L))
print(findMinAndMax(str_h)) #(0,9)
3、