我有一个字典对象如下:
{('look', 'toward'): 1,
('new', 'cage'): 3,
('think', 'surpris'): 0,
('go', 'see'): 1 }
我想做的是按顺序分别提取每个单词 'look','朝','new','cage'......最后没有使用值()。 我该如何提取这些单词? 制作列表而不是字典更好吗? 如果详细解释,我们将非常感激。
答案 0 :(得分:4)
您只对键感兴趣,而不是"值"。键是用于索引字典的键。
干净的方法是调用options
并使用dict.keys()
展平它。 itertools.chain
,首先。
import itertools
请注意,不保证返回字符串的顺序,因为python的字典在3.6之前的版本上没有排序。
答案 1 :(得分:3)
这就是你要找的东西:
d = {('look', 'toward'): 1,
('new', 'cage'): 3,
('think', 'surpris'): 0,
('go', 'see'): 1 }
[kk for k in d for kk in k]
# returns:
['look', 'toward', 'think', 'surpris', 'new', 'cage', 'go', 'see']
答案 2 :(得分:2)
提取a是否是你的词典的简单方法:
>>> for key, value in a.items():
... print(key[0],key[1],value)
...
look toward 1
new cage 3
think surpris 0
go see 1
你可以玩你想要的:
>>> for key, value in a.items():
... print(f'{key[0]}: {value}')
... print(f'{key[1]}: {value}')
...
look: 1
toward: 1
new: 3
cage: 3
think: 0
surpris: 0
go: 1
see: 1
答案 3 :(得分:1)
data={('look', 'toward'): 1,
('new', 'cage'): 3,
('think', 'surpris'): 0,
('go', 'see'): 1 }
print([k for i in data.keys() for k in i ])
输出:
[['new', 'cage'], ['go', 'see'], ['look', 'toward'], ['think', 'surpris']]
答案 4 :(得分:0)
你想要做的是获取你可以通过my_dict.keys()
获得的词典的键列表,并在其中合并元组,如下所示:
my_dict = {('look', 'toward'): 1,
('new', 'cage'): 3,
('think', 'surpris'): 0,
('go', 'see'): 1 }
my_tuple = tuple()
for key in my_dict.keys():
new_list = new_list + key
print(my_tuple)
这将打印:
('look', 'toward', 'new', 'cage', 'think', 'surpris', 'go', 'see')
你现在可以正常迭代:
for item in my_tuple:
print(item)
将吐出:
look
toward
new
cage
think
surpris
go
see