嘿,我一直在搜索和測試不同的選項整天,無法讓我的代碼工作,因爲它想... comprehension
和nestedfor loop
,但我不能把它正確...Python - 比賽列表
zipbytehex = [(1, 0, '0x1636'), (2, 1, '0x62'), (3, 2, '0x02'), (4, 3, '0x2F'), (5, 0, '0x1637'), (6, 1, '0x19'), (7, 2, '0x02'), (8, 3, '0x2F'), (13, 0, '0x1637'), (14, 1, '0x19'), (15, 2, '0x04'), (16, 3, '0x0A'), (17, 4, '0x1B'), (18, 5, '0x47'), (19, 6, '0xFF'), (20, 0, '0x1637'), (21, 1, '0x22'), (22, 2, '0x04'), (23, 3, '0x06'), (24, 4, '0x07'), (25, 5, '0x68'), (26, 6, '0xFF'), (718, 1, '0x59'), (719, 2, '0x02'), (720, 3, '0xFF'), (721, 0, '0x163C'), (722, 1, '0x59'), (723, 2, '0x02'), (724, 3, '0xFF'), (725, 0, '0x1635'), (726, 1, '0x59'), (727, 2, '0x02'), (728, 3, '0xFF'), (729, 4, '0x0C'), (730, 5, '0x42'), (731, 6, '0x00'), (732, 7, '0xAF')]
new_zipbytehex =[]
for i in zipbytehex:
if i[1] != 0:
new_zipbytehex.append(i)
bytehexservi = []
byteservi = []
for i in zipbyteservi:
if i[1:] == (1, '0x19'):
byteservi.append(i[:2])
service2, adatabyte2 = zip(*byteservi) # inverse zip
for new_bytehex in new_zipbytehex:
if new_bytehex[1:] == (1, '0x19'): # 0x19, 0x22, 0x59 or 0x62
bytehexservi.append(list(zip(new_bytehex, service2, adatabyte2)))
for list_bytehexservi in bytehexservi:
#print(list_bytehexservi)
sql = """INSERT INTO tblMsgsBytes2Parameters ([p_MsgBytes],[p_Parameter],[A_Databyte]) VALUES (?,?,?)"""
cursor.execute(sql, *list_bytehexservi)
cursor.commit()
cursor.close()
con.close()
進出口新的蟒蛇,這是據我在我的代碼和現在即時通訊卡......我正嘗試提取每tuple
有0x19
和後一次從我的名單zipbytehex
然後寫它訪問。我已經管理,使(x, 1, '0x19')
每個元組被寫入到Access但不是一次後(從從zipbytehex
),我得到的唯一的價值是(6, 1, '0x19')
而不是(7, 2, '0x02') and (8, 3, '0x2F')
因爲我想...我需要以某種方式循環通過並在同一時間附加(7, 2, '0x02') and (8, 3, '0x2F')
,但我不知道如何...有人可以幫助我嗎?由於
例如: 我的輸出:
(6, 1, '0x19')
想輸出:
(6, 1, '0x19')
(7, 2, '0x02')
(8, 3, '0x2F')
等一下,按照什麼標準選擇遵循'0x19'的元組?你只是想要接下來的兩個元素? –