Python 为什么我的嵌套字典重复一个键?

Python 为什么我的嵌套字典重复一个键?,python,selenium,web-scraping,Python,Selenium,Web Scraping,我正在构建一个嵌套字典,其中包含我从中提取的几个元素。然而,即使我能积极地看到我在抓取准确的数据(当我打印时),它似乎在重复整个目录中的关键值。重复的部分内容是每月成本、数据数量、分钟数和消息 我希望能够正确地将我的字典planPermutation嵌套在另一个字典planDicts中 以下是我的输出示例: { '自带设备30':{'plan type Name':'自带设备','monthlyCost':75,'dataNum':10000,'minutes':'Unlimited','mes

我正在构建一个嵌套字典,其中包含我从中提取的几个元素。然而,即使我能积极地看到我在抓取准确的数据(当我打印时),它似乎在重复整个目录中的关键值。重复的部分内容是每月成本、数据数量、分钟数和消息

我希望能够正确地将我的字典planPermutation嵌套在另一个字典planDicts中

以下是我的输出示例:

{ '自带设备30':{'plan type Name':'自带设备','monthlyCost':75,'dataNum':10000,'minutes':'Unlimited','messaging':'Unlimited'}

'自带设备35':{'plan type Name':'自带设备','monthlyCost':75,'dataNum':10000,'minutes':'Unlimited','messaging':'Unlimited'}

'自带设备45':{'plan type Name':'自带设备','monthlyCost':75,'dataNum':10000,'minutes':'Unlimited','messaging':'Unlimited'}, ... }


关键不是在一个字典中重复,而是在多个字典中重复。请注意,这些完整的字典只是顶级字典的值,而较低级别的字典则表示有关准确信息的问题。我不确定是什么原因导致它在整本字典中重复这些值。我不清楚你想要什么格式的dict。你能举个例子吗?
def planDictsGenerator():
                planPermutation = {}
                index = 1

                # name
                planName = wait.until(EC.presence_of_all_elements_located((By.CSS_SELECTOR, '#block-system-main > div > div > div.view-content > div.rate-plan-block > div.tab-header-wrapper > h2')))
                planName = str(planName[0].text)
                planPermutation["plan type Name"] = planName

                subplans = wait.until(EC.presence_of_all_elements_located((By.CSS_SELECTOR,'.panel-col-first')))
                for plan in subplans:
                    driver.execute_script("arguments[0].scrollIntoView();", plan)
                    driver.execute_script("arguments[0].click();", plan)
                    time.sleep(1)

                    # monthlyCost
                    monthlyCost = wait.until(EC.presence_of_all_elements_located((By.CSS_SELECTOR, '.active .koodo-currency')))
                    monthlyCost = monthlyCost[0].text
                    monthlyCost = int(monthlyCost.replace('$', ''))
                    planPermutation["monthlyCost"] = monthlyCost

                    # Data
                    dataNum = wait.until(EC.presence_of_all_elements_located((By.CSS_SELECTOR, '.active .views-field-field-data-mobile-value strong')))
                    dataNum = dataNum[0].text
                    if "GB" in dataNum:
                        dataNum = int(dataNum.replace(' GB', '')) * 1000
                    else:
                        dataNum = int(dataNum.replace(' MB', ''))
                    planPermutation["dataNum"] = dataNum

                    # minutes
                    minutes = wait.until(EC.presence_of_all_elements_located((By.CSS_SELECTOR, '.active .views-field-field-canada-wide-any-min-mobile strong')))
                    minutes = minutes[0].text
                    if "Unlimited" in minutes:
                        minutes = "Unlimited"
                    else:
                        minutes = int(minutes)

                    planPermutation["minutes"] = minutes

                    # messaging
                    messaging = wait.until(EC.presence_of_all_elements_located((By.CSS_SELECTOR, '.active .views-field-field-unlim-text-and-pic-mobile strong')))
                    messaging = messaging[0].text
                    if "Unlimited" in messaging:
                        messaging = "Unlimited"
                    else:
                        messaging = int(messaging)

                    planPermutation["messaging"] = messaging

                    dictName = planName + " " + str(monthlyCost)
                    planDicts[dictName] = planPermutation
                    print(planPermutation)


  [1]: https://www.koodomobile.com/rate-plans?INTCMP=KMNew_NavMenu_Shop_Plans