作者KSJ (阿真)
看板Python
标题Re: [问题] 请问一个dict取值问题
时间Fri Mar 9 14:08:07 2012
我说 "以上是个概念"
指的是随手写的程式码 执行不成功的机会很大 只是要传达概念 囧>
※ 引述《kadodo (想办法突破)》之铭言:
: 感谢你的回答 这个概念的确很有帮助
: 可是我现在卡在 我无法让这个语法正确执行
: Traceback (most recent call last):
: File "d.py", line 232, in <module>
: cmd_diff()
: File "d.py", line 84, in cmd_diff
: if b.key > int(a):
: AttributeError: 'int' object has no attribute 'key'
: 以上是我执行之後的一个错误讯息
: 是不是因为搞错了OrderedDict的结构呢?
: 我试了几次也没能成功...
OrderedDict...老实说我没用过
另外上面的错误是说 b他是整数物件 没有 key 这个属性
很明显我把b想成是"小dict物件"(好像没这种东西)
但其实他是dict的key(仍是我猜的)
(所以这是我的错误… 不过也蛮好修正的不是吗?)
另外 是什麽原因要使用dict呢 这个case看起来list也不错用啊?
: ※ 引述《KSJ (阿真)》之铭言:
: : B不是用整数当key吗??@@a 上面写是用字串
: : C={}
: : for a in A:
: : for idx,b in enumerate(B):
: : if b.key > int(a):
: : C[a] = B[idx-1].value
: : break
: : 以上是个概念
: : orderdict 看起来是可以排序KEY的dict 所以我猜找它前一个key的值应该是可以的
: : 所以找第一个超过a值的b的index 再写入前一个index的b值 然後再找下一个a
: : 如果不行用index的话 可以记录 前一笔小於 後一笔大於的时候再填入前一笔的值
: : 如果我有什麽误解再跟我说 :)
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.112.63.202
1F:推 kadodo:已经解决 谢谢 03/09 21:15