纯新手 python 语法问题

迷失在你的心里 发布于 2017/03/29 18:18
阅读 176
收藏 0

>>> from functools import reduce
>>> def fn(x, y):
...     return x * 10 + y
...
>>> def char2num(s):
...     return {'0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8, '9': 9}[s]
...
>>> reduce(fn, map(char2num, '13579'))
13579


 这里是Python的一段代码,不太明白这里的return是什么作用,字典和列表在这里是什么意思

>>> def char2num(s):
...     return {'0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8, '9': 9}[s]
...
加载中
0
大洋的顶端
大洋的顶端
{'0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8, '9': 9}[s]

这个函数就是返回key=s 的整数

比如字符串“13579”就变成了[1,3,5,7,9]

return就是返回的reduce的运算。

先map,获取[1,3,5,7,9]整数型list,然后reduce运算之后变成了13579 

x=1  Y=3
x=13  Y=5
x=135  Y=7
x=1357  Y=9

X=13579

...

迷失在你的心里
谢谢你的回答,我想问的是字典和列表 {}[] 这样的组合是一种语法吗?这是我唯一一次见到这种用法,而且全都没用关于这个的介绍......
0
大洋的顶端
大洋的顶端

这不是字典和集合的集成啊。我把它分解开来你就明白了。

 

a={'0':0,'1':1,'2':2}

print(a['0'])

 

其实就是字典的查找啊

迷失在你的心里
明白了 ,多谢
返回顶部
顶部