回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我有两本内容相关的词典。一个是由以<em><strong><shopid'</strong></em>为<strong>键,以<em><strong><userid'</strong></em>为<strong>值的数据集构成的。另一个字典由相同的数据集组成,但将<em><strong><userid'</strong></em>作为<strong>键,将该用户购买的<em><strong><datetime'</strong></em>作为<strong>值</p>
<p>我想能够做的是创建一个for循环(或类似的循环),对于每个'shopid'键,该循环接受'userid'值,并将这些'userid'值转换为包含第二个字典中的'datetime'值的键。这适用于大型数据集</p>
<p>我知道字典对你能对它们做什么有一些限制,所以知道这是否可行或者是否有更好的方法来达到类似的结果会很好</p>
<p>作为输入/输出理想的示例:</p>
<pre><code>dict1 = {'shopid1':['userid1','userid2','userid3']}
dict2 = {
'userid1':['2020-08-17 09:00','2020-08-18 08:30'],
'userid2':['2020-08-16 11:00','2020-08-15 13:30'],
'userid3':['2020-08-18 09:30','2020-08-18 10:00','2020-08-18 11:30']
}
combined_dict = {
'shopid1':{
'userid1':['2020-08-17 09:00','2020-08-18 08:30'],
'userid2':['2020-08-16 11:00','2020-08-15 13:30'],
'userid3':['2020-08-18 09:30','2020-08-18 10:00','2020-08-18 11:30']
}
}
</code></pre>
<p>编辑:</p>
<p>我想要合并的实际词典如下所示:</p>
<pre><code>shopid = {10159: [[[62775725, 214988798, 214988798, 214988798, 62775725,
62775725]]]
userid = {166840413: [[datetime.datetime(2019, 12, 29, 15, 48),
datetime.datetime(2019, 12, 29, 15, 48), datetime.datetime(2019, 12, 29,
15, 48)]]
</code></pre>
<p>我相信,多余的方括号是多次使用默认dict创建新的缩短词典的结果,这些词典删除了不符合问题要求的值</p>