私が求めていることが可能かどうかはわかりませんが、可能であれば特定のアプリケーションに便利です。ターゲットが素数と正確に一致するか、ターゲットとの特定の関係を維持する特定の方法で不一致になるかのいずれかである、実験用の試行リストを作成しています。さらに明確にするために、私の刺激はすべて、次の形式の 3 レベルの分類法に分類されます。
H = {
'A1':{
'B1':{
'C1':[],'C2':[],'C3':[] },
'B2':{
'C1':[],'C2':[],'C3':[] },
'B3':{
'C1':[],'C2':[],'C3':[] }
},
'A2':{
'B1':{
'C1':[],'C2':[],'C3':[] },
'B2':{
'C1':[],'C2':[],'C3':[] },
'B3':{
'C1':[],'C2':[],'C3':[] }
}
}
一番下の「ツリー」の各リストは、特定の刺激のセットです。素数とターゲットが一致する場合、それは簡単です。そうでない場合は、同じ B グループの下にある別の C グループから、置換せずにランダムに描画したいと考えています。
私の意図した解決策は、Pythonが参照を処理する方法を活用し、そこから刺激を pop() できる一時的なリストを作成することでした。したがって、試行が一致せず、素数が H[A1][B1][C1] からのものである場合、リストから pop() を使用したいと思います。
tempList = H[A1][B1][C2] + H[A1][B1][C3]
ただし、おそらく2つのリストを追加しているため、辞書内のリストへの参照が壊れているため、一時リストからidemを削除すると、辞書に反映されません。参照を維持する方法はありますか?ありがとうございました!
編集: このおもちゃの例は期待どおりに動作しません:
>>> d = {'A':[1,2,3],'B':[4,5,6]}
>>> l = d['A'] + d['B']
>>> l
[1, 2, 3, 4, 5, 6]
>>> l.pop(2)
3
>>> l
[1, 2, 4, 5, 6]
>>> d
{'A': [1, 2, 3], 'B': [4, 5, 6]}