函数list:通过字符串,元组索引得到一个新的列表
①list()
②list(iteration)可迭代对象 相当于for循环
a=list()
b='i love u'
b=list(b)
c=(1,1,23,26,2,6)
c=list(c)
结果为:
a:[]
b:['i', ' ', 'l', 'o', 'v', 'e', ' ', 'u']
c:[1, 1, 23, 14, 2, 69, 1]
函数tuple:和list一样
函数str:把参数转化为字符串
函数len(sub):返回sub的长度
max:范围参数或序列中的最大值
max(b)
返回‘v’
min:范围参数或序列的最小值
sum(iterable,start=0):计算iterable和start总和,start=0
a=[1,2,3,4,5,6]
sum(a)=21
sum(a,2)=23
sorted:从小到大排列
reversed(numbers):逆转序列
**list(reversed(a))**
为:[6,5,4,3,2,1]
enumerate:枚举,变成(索引值,数值)
list(enumerate(a))
结果为:[(0,6),(1,5),....(5,1)]
zip(a,b):返回由序列的相对应各个参数组成的元组的列表
a=[1,2,3,4,5,6,7]
b=[1,2,3]
list(zip(a,b))
结果为:[(1,1),(2,2),(3,3)]
习题及答案
0. 我们根据列表、元祖和字符串的共同特点,把它们三统称为什么?
序列
1. 请问分别使用什么BIF,可以把一个可迭代对象转换为列表、元祖和字符串?
list()
tuple()
str()
2.你还能复述出“迭代”的概念吗?
所谓迭代,是重复反馈过程的活动,其目的通常是为了接近并到达所需的目标或结果。每一次对过程的重复被称为一次“迭代”,而每一次迭代得到的结果会被用来作为下一次迭代的初始值。
3. 你认为调用 max(‘I love FishC.com’) 会返回什么值?为什么?
ASCII对照表:http://bbs.fishc.com/thread-41199-1-1.html)
返回‘v’
v在ASCII码中是118位最大
4.猜想一下 min() 这个BIF的实现过程
min=list[0]
for each in list:
if each<min:
min=each
else:
min=min
5. 视频中我们说 sum() 这个BIF有个缺陷,就是如果参数里有字符串类型的话就会报错,请写出一个新的实现过程,自动“无视”参数里的字符串并返回正确的计算结果
def sum(x):
result=0
for each in x:
if(type(each)==int)or(type(each)==float):
result+=each
else:
continue
return result