【发布时间】:2016-02-25 17:10:42
【问题描述】:
这是我的字典和迭代方法:
update_config_switch = OrderedDict([
(mode0 , self.mode0Box),
(config_list[14] , self.baudrate0Box),
(config_list[1] , self.RX_size_uart0Box),
(config_list[2] , self.RX_timeout_uart0Box),
(config_list[3] , self.TX_size_uart0Box),
(mode1 , self.mode1Box),
(config_list[15] , self.baudrate1Box),
(config_list[5] , self.RX_size_uart1Box),
(config_list[6] , self.RX_timeout_uart1Box),
(config_list[7] , self.TX_size_uart1Box),
(config_list[8] , self.RX_size_socket0Box),
(config_list[9] , self.RX_timeout_socket0Box),
(config_list[10] , self.TX_size_socket0Box),
(config_list[11] , self.RX_size_socket1Box),
(config_list[12] , self.RX_timeout_socket1Box),
(config_list[13] , self.TX_size_socket1Box)])
print update_config_switch
for key, val in update_config_switch.iteritems():
print key
try:
index = val.findText(str(key))
if index >= 0:
val.setCurrentIndex(index)
except:
val.setProperty("value", int(key))
这个 dict 应该有 16 个项目,但是当我打印它或每次循环运行时打印 key 时,我只得到 7 个结果,如下所示:
OrderedDict([('eth', ), (9600, ), (300, ), (500, ), ('dev', ), (115200, ), (1000, )])
为什么会这样以及如何解决这个问题?
【问题讨论】:
-
您是否确认您有 16 个 unique 键?
标签: python dictionary collections iteration