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] map2 = map(char2num, '13579') print(map2) 我知道字符串‘ 13579 ’是可以被迭代的。 问一下 第二行的[s]是什么意思??或者我该百度什么才能理解这句话??
我知道这是字典的内容,我只是对 [ s ] 这么些很疑惑。
![]() | 1 lhx2008 2017-12-09 11:39:10 +08:00 via Android s 是 char2num 的参数,比如 s 是'2'就返回字典的'2',就是 2,再用 map 施加到每个字符 还有楼主的排版要被喷了 |
![]() | 2 sagaxu 2017-12-09 11:39:45 +08:00 x = {'0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8, '9': 9} x[s] |
![]() | 3 lhx2008 2017-12-09 11:41:09 +08:00 via Android 还不理解的话只能百度 pyhon 字典如何取出值,以及函数的参数 |
![]() | ![]() 排版太烂不看 |
![]() | 5 newhuan 2017-12-09 11:44:12 +08:00 不会 python;不过 char2num 看起来是个函数,s 应该是个参数;{}是个对象字面量,[s]是取值操作; 猜的 不过应该没错 |
![]() | 6 lhx2008 2017-12-09 11:44:46 +08:00 via Android 或者再看看 map 是怎么把对象和函数进行交合的 |
8 cyancat0525 2017-12-09 11:53:48 +08:00 via Android ![]() 你的排版让你错过很多好答案,比如我的 |
11 DongDongXie 2017-12-09 12:18:33 +08:00 key 啊 |
12 jyf 2017-12-09 12:44:42 +08:00 这语法就是正常的字典取值 其实他写成 a = {'0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8, '9': 9} return a[s] 这样你就能理解了 也不光是 python 其他几家脚本也是如此取值 这种问题 可能不是你没仔细读教材 而是对字面量的 dict 不怎么熟悉造成的 |
![]() | 13 imn1 2017-12-09 13:08:35 +08:00 (True, False)[1<0] 这句能读懂不? |
![]() | 15 Kilerd 2017-12-09 15:14:58 +08:00 map(lambda x: int(x), '1359') |
![]() | 16 ballshapesdsd 2017-12-09 15:22:46 +08:00 @Kilerd map(int,'13579') |
17 Kobayashi 2017-12-09 16:37:26 +08:00 via Android 借 楼 测 试 换 行 符号 |
![]() | 18 Osk 2017-12-09 16:43:45 +08:00 楼主你需要这样处理下排版 ```python your_code... ``` |
![]() | 19 Xiaobaixiao 2017-12-09 17:33:27 +08:00 你可能是某个 XXX 教程的受害者 ![]() 如果没有其他语言基础,建议你老老实实买本书看。 |
![]() | 20 gdzzzyyy OP @Xiaobaixiao 额 和其他语言没关把 我就是看这个{} [] 这么写没理解。 求推荐一本书把 我刚接触 python 最近在看慕课教程和廖雪峰老师的教程 |
![]() | 21 Xiaobaixiao 2017-12-09 19:30:45 +08:00 ![]() @gdzzzyyy 强烈推荐《 Python 语言及其应用》 ![]() 那些 XXX 教程真不敢恭维,典型的教你 1+1=2,然后让你解个线性方程,真当每个学习者都拥有爱因斯坦的智商…… 那种东西写给自己看的还差不多,有说错话的地方,dalao 不要打我 ![]() |
![]() | 22 aaronzjw 2017-12-09 20:19:08 +08:00 搞好排版再来问,不会换行的话,好歹搞个 gist 啊 |
![]() | 23 likuku 2017-12-09 22:15:28 +08:00 有空玩这些胡里花哨的东西,不如多写点东西解决你真实世界里遇到的问题。 |
![]() | 24 SingeeKing PRO 所以为什么不直接用 map(int,'13579') |
![]() | 25 aristotll 2017-12-10 00:47:50 +08:00 如果你会 clojure 理解就更简单了 字典 也是一个 callable |
![]() | 26 aristotll 2017-12-10 00:50:19 +08:00 当然 python 不是函数式编程所以 对字典 []语法糖应该是通过 函数 __getitem__实现的 |
27 kkzxak47 2017-12-10 01:49:24 +08:00 via Android 如果这是书里写的,换一本书 |
![]() | 28 cy18 2017-12-10 09:56:18 +08:00 via Android 书推荐 learning python |
29 edwardchor 2017-12-10 12:04:49 +08:00 via iPad ![]() 更安全的语法是{}.get(key[, default]) 否则发现未定义的 key 会报错 |
32 lichangqing93 2017-12-10 15:08:35 +08:00 via iPhone 把 map 对于对象和函数的交互搞明白应该就行了 |
![]() | 33 likuku 2017-12-10 19:09:57 +08:00 |
![]() | 34 pythme 2017-12-10 19:31:10 +08:00 不会换行吗,哇哈哈呃呃呃 |
![]() | 35 bravecarrot 2017-12-10 22:57:39 +08:00 via iPhone lz 趁机看一波 map filter reduce ( py2 ) 和 lambda 的文档 |