码迷,mamicode.com
首页 > 编程语言 > 详细

01-python拾遗

时间:2017-07-01 18:18:24      阅读:127      评论:0      收藏:0      [点我收藏+]

标签:删除   ted   数据   位置   lamda   插入   remove   pytho   python   

列表复习
append(x)追交到链尾
extend(L)追加一个列表 等价于 +=
insert(i,x)在位置i处插入x
remove(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

 

01-python拾遗

标签:删除   ted   数据   位置   lamda   插入   remove   pytho   python   

原文地址:http://www.cnblogs.com/nerdlerss/p/7102832.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!