请稍等 ...
×

采纳答案成功!

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

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下载
官方微信