Python中的小技巧

#coding:utf-8


# NO.1
def dispatch_if(operator, x, y):
    if operator == 'add':
        return x + y
    elif operator == 'sub':
        return x - y
    elif operator == 'mul':
        return x * y
    elif operator == 'div':
        return x / y
    else:
        return None


def dispatch_dict(operator, x, y):
    return {
        'add': lambda: x + y,
        'sub': lambda: x - y,
        'mul': lambda: x * y,
        'div': lambda: x / y,
    }.get(operator, lambda: None)()


print(dispatch_if('sub', 5, 9))
print(dispatch_dict('mul', 3, 7))
print(dispatch_if('unknown', 2, 8))
print(dispatch_dict('unknown', 2, 8))


# NO.2
def myfunc(a, b):
    return a + b

funcs = [myfunc]
print(funcs[0])
print(funcs[0](2, 3))


# NO.3
my_mapping = {'a': 23, 'b': 42, 'c': 0xc0ffee}
print(my_mapping)

import json
print(json.dumps(my_mapping, indent=4, sort_keys=True))

# json.dumps({all: 'yup'})


# NO.4
name_for_userid = {
    382: "Alice",
    590: "Bob",
    951: "Dilbert",
}

def greeting(userid):
    return "Hi %s!" % name_for_userid.get(userid, "there")

print(greeting(951))

# NO.5
xs = {'a': 4, 'b': 3, 'c': 2, 'd': 1}

S = (sorted(xs.items(), key=lambda x: x[1]))
print(S)
# Or:

import operator
S = sorted(xs.items(), key=operator.itemgetter(1))
print(S)

   转载规则


《Python中的小技巧》 MarkHoo 采用 知识共享署名 4.0 国际许可协议 进行许可。
 上一篇
PyCharm2018最新激活码 PyCharm2018最新激活码
有一些学习Python的同学,安装PyCharm后不知道怎么激活,或者总是激活不成功,特此写一篇文章分享一下 激活之前需要先修改hosts文件,在里面增加如下一条代码: 0.0.0.0 account.jetbrains.com Linux
2018-07-16
下一篇 
Python面试题目 Python面试题目
暂时整理这么多,有好的答案可以在下面留言,并注明问题序号 题目有描述错误的也欢迎指正 部分问题答案可参考: 关于Python的面试题(带目录) 关于Python的面试题(不带目录) 注:如果评论模块无法加载,可以到慕课或者本Blog
2018-07-14
  目录