Discuss / Python / 我理解不了return后面这个,求详解,还有int('123')不是更容易吗?

我理解不了return后面这个,求详解,还有int('123')不是更容易吗?

Topic source
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]
return reduce(fn, map(char2num, s))

后面是dict,键值对应关系是字符串对应整数,假设python没有int()函数,我们可以用这几行代码,编写一个int()函数。

同求解。。。后面跟个[s]的目的是什么呢。。删了会报错

Ataraxistart

#4 Created at ... [Delete] [Delete and Lock User]

个人理解: 我试把[s]里加上了前面dict里没有的key值,结果就会出现keyerror访问key错误,个人揣测应该是[s]这个list里的字符起到了访问dict里key的作用,return语句就把对应key的value给返回出来了。


  • 1

Reply