0
ID가 키이고 클래스가 사전 인 항목이 있습니다. 특정 클래스의 변수에 추가하려고하면 사전의 다른 모든 클래스도 추가됩니다.Python 사전 값을 추가하는 클래스는 모든 사전 항목에 할당합니다.
class Reaction:
def __init__(self, bkm_id, ec_nums = [], b_ids = [], k_ids = [], m_ids = [], source = ''):
self.bkm_id = bkm_id
self.ec_nums = ec_nums
self.b_ids = b_ids
self.k_ids = k_ids
self.m_ids = m_ids
self.source = source
self.substrates = []
self.products = []
def add_metabolite(self, metabolite, stoichiometry, subs_prod):
if subs_prod == 'S':
self.substrates.append(Substrate_Product(metabolite, stoichiometry))
elif subs_prod == 'P':
self.products.append(Substrate_Product(metabolite, stoichiometry))
은 클래스를 정의합니다. 그런 다음 입력하면 :
rxna = Reaction('a')
rxnb = Reaction('b')
dict = {}
dict['a'] = rxna
dict['b'] = rxnb
dict
Out[14]:
{'a': <__main__.Reaction instance at 0x102c51fc8>,
'b': <__main__.Reaction instance at 0x102c62518>}
dict['a'].b_ids.append('BID')
dict['a'].b_ids
Out[16]: ['BID']
dict['b'].b_ids
Out[17]: ['BID']
rxnb.b_ids
Out[18]: ['BID']
나는 단지 'BID'를 rxna.b_ids에 추가하려고합니다. 나는 명백한 것을 놓치고 있는가?
감사합니다. 꿈 같은 작품 (좋은 꿈)! –
효과가있는 경우이 대답을 "수락 함"으로 표시하십시오. –