python中{dict}[list]这个格式返回的结果是什么?详细如下
发布网友
发布时间:2022-05-08 09:52
我来回答
共5个回答
热心网友
时间:2022-04-18 03:54
python中{dict}[list]这个格式返回的结果是:
{'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[1]]
……
'0':0,'1':1,'2':2,'3':3,'4':4,'5':5,'6':6,'7':7,'8':8,'9':9}[s[100]]
热心网友
时间:2022-04-18 05:12
{'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[1]]
……追问谢谢大神,原来只能处理一个字符啊
追答你可以获取s长度通过for循环来获取每一个字符再拼凑
热心网友
时间:2022-04-18 06:47
热心网友
时间:2022-04-18 08:38
我也遇到过与楼主同样的困扰,为何自己直接去用“尝试1”、“尝试2”都会报错呢?(提示:KeyError:'13579')
而程序整体的运行确实十分正确顺利,原因就在于对于map()函数的理解不够深入:map()函数接收两个参数,一个是函数,一个是Iterable,map将传入的函数依次作用到序列的每个元素,并把结果作为新的Iterator返回。
所以‘13579’在map函数下其实是按生成器一个字符一个字符的进行运算的,所以并不会报错。而直接像楼主那样的“尝试1”,“尝试2”会爆错也就不奇怪了,{}中并没有‘13579’这样的键。
热心网友
时间:2022-04-18 10:46
或许你可以这样理解:
(1)map(char2num, '13579'):map接收两个参数,第一个是函数,第二个是Iterable对象
'13579'是一个Iterable对象(isinstance('13579', Iterable)---结果是True)
这个函数是指对'13579'中的每一位执行char2num操作
(2){'0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8, '9'}[s]可以这么理解:
d = {'0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8, '9'}
s作为键
d[s]
不知道我有没有表达清楚 希望能帮到你