如何保持一個元組或字典作爲主字典的價值?
所以不是這樣(這不能在python相當存在):
{'TTTT': ['AGTG', 'AGGG'], ['string1'], ['string2'], 'AAAA': ['AGAG', 'TGTG'], ['string3'], ['string4']})
您將獲得:
{'TTTT': (['AGTG', 'AGGG'], ['string1'], ['string2']), 'AAAA': (['AGAG', 'TGTG'], ['string3'], ['string4'])}
這基本上意味着每一個關鍵3個元素的元組,第一個是你的列表和第二和第三是你的字符串。
要實現的是,定義defaultdict這樣:
my_dict = defaultdict(lambda:([], [], []))
然後使用你的字符串my_dict[0]
原來的字符串列表,my_dict[1]
和my_dict[2]
。
,用於附加鍵/值對本字典的一個例子:
my_dict[seq][0].append(read_seq)
#And now your two strings:
my_dict[seq][1] = 'string1'
my_dict[seq][1] = 'string2'
如果你不想持有你的列表中的字符串(你可能不應該),你可以使用的字典instead.Then它看起來像:
{'TTTT': {'sequences':['AGTG', 'AGGG'], 'additional':('string1', 'string2')}, 'AAAA': {'sequences':['AGAG', 'TGTG'], 'additional':('string3', 'string4')}}
這將使加入更爲清楚鍵/值:
my_dict = defaultdict(dict)
#...
my_dict[seq]['sequences'] = read_seq
#And now your two strings:
my_dict[seq]['additional'] = ('string1','string2')
我個人更喜歡第二種選擇。
'{'TTTT':['AGTG','AGGG'],['string1'],...'第一個元素是一個key:value對,第二個元素是一個正常的字符串項。 你不能有一個字典的一些條目作爲凱:配對值和一些正常字符串(沒有鍵的值)。 想想你希望再次獲取數據的結構。也許單獨使用字典和列表。 –
首先,您的預期輸出不是有效的Python字典。其次,你應該解釋你如何通過例子來獲得預期的字典 –
我認爲它不是。我可以嘗試澄清一下,但我很想看看是否有一種很好的方法可以將多個數據片段與一個關鍵字相關聯。 –