迭代三重嵌套元组python3.4

2024-10-03 09:08:33 发布

您现在位置:Python中文网/ 问答频道 /正文

假设我有一个三重嵌套元组,我用它在TKinter中创建一个键盘。看起来像这样:

kBoard = (
( ('~\n`', 1), ('!\n1', 1),..... etc.
 ),
(('Tab', 2), ('Q', 1),.... etc.
 ),
(('CapsLock', 2), ('A', 1),... etc. and so on
 ),
)

假设我要迭代这个层,这样第二层是键盘的行,我想获取每个定义作为键使用。我尝试了一个嵌套的for循环,它给了我多个重复项,并且不允许我获取单独的定义。那么我该怎么做,这样我就可以单独获取每个定义呢?请记住,我试图按照它们在元组中的顺序来获取这些定义。在


Tags: andforso定义顺序ontkinteretc
1条回答
网友
1楼 · 发布于 2024-10-03 09:08:33

尝试Itertools.chain

dict(itertools.chain(*kBoard))

在输出:-在

^{pr2}$

或者您可以使用dict函数List Comprehension

>>>[dict(tup) for tup in kBoard]

在输出:-在

>>> 
[{'!\n1': 1, '~\n`': 1}, {'Q': 1, 'Tab': 2}, {'A': 1, 'CapsLock': 2}]

或者使用简单的map功能:-在

>>>map(dict, kBoard)

[{'!\n1': 1, '~\n`': 1}, {'Q': 1, 'Tab': 2}, {'A': 1, 'CapsLock': 2}]

相关问题 更多 >