回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我有一本词典,里面有名单</p>
<pre><code>find_dup = {"one":[["1654","raj","425","16-02-2017"],["1654","mo","426","20-02-2017"],["1654","ss","425","20-02-2017"],["1654","vs","427","20-02-2017"],["1654","ss","425","14-02-2017"]]}
</code></pre>
<p>我想在第一个和第三个元素的列表中找到重复的</p>
<p>例如</p>
^{pr2}$
<p>从上面的元素可以看出1654425是重复的(因为我想根据第一个和第三个元素查找重复项)</p>
<p>所以从上面的列表来看,这个列表是重复的</p>
<pre><code>["1654","raj","425","16-02-2017"] -> 1654,425
["1654","ss","425","20-02-2017"] -> 1654,425
["1654","ss","425","14-02-2017"] -> 1654,425
</code></pre>
<p>现在我们要从这个列表中删除2个日期较早的元素(列表的最后一个元素是date)</p>
<p>此2列表的日期较旧,因此应将其删除</p>
<pre><code>["1654","raj","425","16-02-2017"] -> 1654,425
["1654","ss","425","14-02-2017"] -> 1654,425
</code></pre>
<p>结果应该是这样</p>
<pre><code>find_dup = {"one":[["1654","mo","426","20-02-2017"],["1654","ss","425","20-02-2017"],["1654","vs","427","20-02-2017"]]}
</code></pre>
<p>我有一个python脚本,它迭代列表,但是我找不到逻辑,如果我发现重复并替换最新日期,如何弹出元素</p>
<p>这是我失败的脚本</p>
<pre><code>find_dup = {"one":[["1654","raj","425","16-02-2017"],["1654","mo","426","20-02-2017"],["1654","ss","425","20-02-2017"],["1654","vs","427","20-02-2017"],["1654","ss","425","14-02-2017"]]}
for d in find_dup:
len_d = len(find_dup[d])
store_array_dup = []
store_array_ele = {}
for i in find_dup[d]:
val = i[0]+"-"+i[1]"-"+i[2]"-"+i[3]
val_1 = i[0]+"-"+i[2]
if val_1 in store_array_dup:
store_array_ele.<a href="https://www.cnpython.com/list/append" class="inner-link">append</a>(val_1)
else:
arrs = []
arrs.append(val)
store_array_ele[d] = arrs
</code></pre>
<p>我怎么能得出这样的结果</p>
<pre><code>find_dup = {"one":[["1654","mo","426","20-02-2017"],["1654","ss","425","20-02-2017"],["1654","vs","427","20-02-2017"]]}
</code></pre>