列表复习append(x)追交到链尾extend(L)追加一个列表 等价于 +=insert(i,x)在位置i处插入xremove(x) 删除一个值为x的元素 如果没有抛出异常sort() 直接修改列表为排序过的sorted(L) 返回排序后的L 元祖 一旦初始化便不能修改的数据结构 比列表快集合 (set) 无序不重复的元素集 不保证是有序字典(dict) 关键字不可变类型 如字符串 整数 只包含 不可变对象的元祖 关于字典 功能非常强大 我们可以做的事情很多比如
def leijia(x,y): a = 0 for i in xrange(x,y+1): a += i return a def plus(x,y): return x+y matruix = { ‘+‘:plus, ‘leijia‘:leijia, } def size(x,oper,y): return matruix[oper](x,y) print(size(1,‘leijia‘,2))
我们可以做一个switch case的模式
#filter
a = [1,2,3,4]
filter(lamda x:x%2,a)
[1,3]
#map 返回序列 为对原序列每个元素分别调用function获得的可以传入多个序列 但是function 也要有相应多的参数
map(lambda x,y,z:x+y+z,range(1,3),range(3,5),range(5,7))
计算过程 1+3+5 = 9 2+4+6=12 结果 [9,12]
接下来我们要实现
l1 = [1,2,3,4]oper = [‘+‘,‘-‘,‘leijia‘,‘*‘]l2 = [2,44,55,66] #l1[0] "oper[0]" l2[0]=? ...
def plus(x,y): return x+y def jian(x,y): return x-y def leijia(x,y): a = 0 for i in(x,y): a +=1 return a def chengji(x,y): return x*y my_dict = { ‘+‘:plus, ‘-‘:jian, ‘leijia‘:leijia, ‘*‘:chengji,} l1 = [1,2,3,4] oper = [‘+‘,‘-‘,‘leijia‘,‘*‘] l2 = [2,44,55,66] #L1[0] "oper[0]" L2 = ? .... res = map(lambda x,y,z:my_dict[y](x,z),l1,oper,l2) print(list(re
时间: 2024-10-09 09:40:02