Python 具有多个值的字典键不打印所有值
我有一个字典,其中有重复的键,但这些键的值不同,我想提取特定键的所有值。以下是我的意思的缩写:Python 具有多个值的字典键不打印所有值,python,bioinformatics,biopython,Python,Bioinformatics,Biopython,我有一个字典,其中有重复的键,但这些键的值不同,我想提取特定键的所有值。以下是我的意思的缩写: x_table = {'A':'GCT','A':'GCC','A':'GCA','A':'GCG'} AA_list = [{'A'}] for aa in AA_list: if aa in x_table: print x_table[aa] 出于某种原因,它只会从x_表中提取一个值 谢谢您的帮助。一本字典不能为同一个键包含多个条目。 想一想-您打算如何访问该价值?
x_table = {'A':'GCT','A':'GCC','A':'GCA','A':'GCG'}
AA_list = [{'A'}]
for aa in AA_list:
if aa in x_table:
print x_table[aa]
出于某种原因,它只会从x_表中提取一个值
谢谢您的帮助。一本字典不能为同一个键包含多个条目。
想一想-您打算如何访问该价值?
x_表['A']
应该返回什么<代码>'GCT'或者可能是'GCA'
您可以做的是对您的数据结构进行轻微更改,并保存一个列表,而不是单个值。e、 g.:
x_表={'A':['GCT','GCC','GCA','GCG'],'B'=['some','other','values']}
在您的示例中,您只有一个键。从您发布的信息来看,我无法判断这是一个小样本还是一般情况。如果是一般情况,也许a//会更好:('GCT','GCC','GCA','GCG')
如果您想更好地理解为什么不能为同一个密钥存储多个条目,您可以阅读相关内容。也许您需要像这样定义dict结构:
x_table = {'A':['GCT','GCC','GCA','GCG']}
因此,字典被实现为一个集合。因此,不能有多个相同的键,如下所示:
dict = {'a': 'blah', 'b': 'foo', 'b': 'bar'}; // ''b would only have the value 'bar'
字典的设计方式不允许这样。它们基本上是散列映射,因此允许通过键快速访问值,但每个值只能有一个键。分配第二个键时,它将覆盖第一个键
但是,您可以尝试实现字典作为您的值,如下所示:
x_table = {'A':{'a_1':GCT','a_2':'GCC','a_3':'GCA','a_4':'GCG'},'B':'blah'}
AA_list=['A']['A_1]
字典不能有重复的键。dict每个键只能有一个值,您需要将所有不同的值放在一个列表(或您选择的任何容器)中,并将其用作值。谢谢,这更有意义。这个答案怎么了?