Dev*_*gue 0 python iteration collections dictionary
这是我的字典和迭代方法:
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))
Run Code Online (Sandbox Code Playgroud)
这个dict应该有16个项目,但是当我打印它或每次循环时我打印键时,我只得到7个结果,如下所示:
OrderedDict([('eth',),(9600,),(300,),(500,),('dev',),(115200,),(1000,)])
为什么这样以及如何解决这个问题?
如果您只有7个结果,则必须在数据中包含重复的键.您可以轻松验证您拥有的唯一键数:
print(len(set(config_list)))
Run Code Online (Sandbox Code Playgroud)