请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

d[s1[i]]=d.get(s1[i],[])+[s2[i]]不能理解

这个命令是如何构建了这样的字典{'X1': ['Y1', 'Y1'], 'X2': ['Y1', 'Y2', 'Y2', 'Y2']}?d[k]的长度指的什么的长度?

正在回答

插入代码

1回答

同学你好,d.get(s1[i],[])意思是如果d里有s1[i]这个key,就返回这个key代表的值;如果没有,就返回空的[];第一次调用时肯定没有,所以返回了[]。+[s2[i]]则为两个list的拼接,空的list和后边的list拼接后,就是[s2[i]],写在s1[i]为KEY的字典里。然后,如果又一次,si的索引得到了与上次s1[i]的值一样的key,就会把上次写入的list读出来,再与新的[s2[i]]相拼接,形成一个更长的list。这样做的结果,就是把第一列的值当成了key,把所有第一列相同的行提取出来,把这些行的第二列排成一个list放在字典的value部分。d[k]的长度,就是d[k]中元素的个数了。

0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号