回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我在将值附加到嵌套字典中的列表时遇到问题。我试图追踪几年来在一组田地上种植的作物。我的目标是能够以类似<code>crops[year][field_name]</code>的方式搜索作物列表</p>
<p>以下是空数据结构:</p>
<pre><code>{2015: {'CP 4B1': [],
'CP 4D1': [],
'CP 1': [],
'CP 5D': [],
'CP 6C': [],
'CP 3': [],
'CP 4B': [],
'CP 4D': [],
'CP 4A': [],
'CP 4C1': [],
'CP 5C': [],
'CP 6A': [],
'CP 4A1': [],
'EF 4A': [],
'EF 5B': [],
'EF 5A': [],
'EF 1D': [],
'EF 1E': [],
'EF 1C': [],
'ES 6A': [],
'ES 6B': [],
'EF 1A': [],
'EF 1B': [],
'EF 4C': [],
'EF 4B': [],
'FF 1': [],
'FF 2': [],
'FF 3': [],
'HM 11': [],
'HM 1': [],
'HM 16B': [],
'HM 2A': [],
'HM 9C': [],
'HM 9B': [],
'HM 10': [],
'HM 12': [],
'HM 5': [],
'HM 8': [],
'HM 13': [],
'HM 2B': [],
'HM 6': [],
'HF 13': [],
'HF 12': [],
'HF 2A': [],
'HF 15B': [],
'HF 15A': [],
'HF 9': [],
'MC 8': [],
'MC 10': [],
'MC 5': [],
'MC 1': [],
'MC 2': [],
'MC 13': [],
'MC 4': [],
'MC 3': [],
'MC 6': [],
'MC 12': [],
'MC 9': [],
'MC 7': [],
'MC 11A': [],
'MC 11': [],
'MC 14': [],
'MC 14A': [],
'MC 13A': [],
'MC 2A': [],
'RF 2A': [],
'MS 8': [],
'MS 16': [],
'MS 21': [],
'MS 17': [],
'MS 11': [],
'BSF 1B': [],
'BSF 4A': [],
'BSF 3': [],
'BSF 1A': [],
'BSF Orchard': [],
'TF 4': [],
'TF 3B': [],
'TF 3A': [],
'TF 5': [],
'TF 11': [],
'TF 8': [],
'TF 1': [],
'TF 2': [],
'WA 3': [],
'WA 7': [],
'WA 5B': [],
'WA 1': [],
'WA 5A': []},
2016: {'CP 4B1': [],
'CP 4D1': [],
'CP 1': [],
'CP 5D': [],
'CP 6C': [],
'CP 3': [],
'CP 4B': [],
'CP 4D': [],
'CP 4A': [],
'CP 4C1': [],
'CP 5C': [],
'CP 6A': [],
'CP 4A1': [],
'EF 4A': [],
'EF 5B': [],
'EF 5A': [],
'EF 1D': [],
'EF 1E': [],
'EF 1C': [],
'ES 6A': [],
'ES 6B': [],
'EF 1A': [],
'EF 1B': [],
'EF 4C': [],
'EF 4B': [],
'FF 1': [],
'FF 2': [],
'FF 3': [],
'HM 11': [],
'HM 1': [],
'HM 16B': [],
'HM 2A': [],
'HM 9C': [],
'HM 9B': [],
'HM 10': [],
'HM 12': [],
'HM 5': [],
'HM 8': [],
'HM 13': [],
'HM 2B': [],
'HM 6': [],
'HF 13': [],
'HF 12': [],
'HF 2A': [],
'HF 15B': [],
'HF 15A': [],
'HF 9': [],
'MC 8': [],
'MC 10': [],
'MC 5': [],
'MC 1': [],
'MC 2': [],
'MC 13': [],
'MC 4': [],
'MC 3': [],
'MC 6': [],
'MC 12': [],
'MC 9': [],
'MC 7': [],
'MC 11A': [],
'MC 11': [],
'MC 14': [],
'MC 14A': [],
'MC 13A': [],
'MC 2A': [],
'RF 2A': [],
'MS 8': [],
'MS 16': [],
'MS 21': [],
'MS 17': [],
'MS 11': [],
'BSF 1B': [],
'BSF 4A': [],
'BSF 3': [],
'BSF 1A': [],
'BSF Orchard': [],
'TF 4': [],
'TF 3B': [],
'TF 3A': [],
'TF 5': [],
'TF 11': [],
'TF 8': [],
'TF 1': [],
'TF 2': [],
'WA 3': [],
'WA 7': [],
'WA 5B': [],
'WA 1': [],
'WA 5A': []},
</code></pre>
<p>等等</p>
<p>我发现我可以按照所需的路径来访问列表:<code>crops[year]["field_name"]</code>,但是当我尝试使用<code>crops[year]["field_name"].append('Corn')</code>来附加到该列表时,程序会将“Corn”附加到所有具有该字段名的列表,而不管年份如何。所以<code>crops[2015]["Field 1"]</code>会有玉米,但<code>crops[2016]["Field 1"]</code>和<code>crops[2017]["Field 1"]</code>也会有玉米,即使我只打算使用<code>crops[2015]["Field 1"].append('Corn')</code>将其添加到作物[2015][“田地1]的列表中</p>
<p>我可能只是对如何导航数据结构感到困惑,但如果有任何帮助,我将不胜感激</p>