【问题标题】:How to modify a value in a dictionary?如何修改字典中的值?
【发布时间】:2020-11-20 07:22:39
【问题描述】:

我想在不进行硬编码的情况下添加到我当前的字典中。我想通过添加 -A 并根据某人正在工作的站点来区分商店。

a_dict = {'A': [['LA', 'Sallys', 'Associate '], ['Hollywood', 'Tonys', 'Shelf'], ['Compton', 'Sally', 'Shelves']],'B': [['SAC', 'Sallys', 'Associate '], ['Townsland', 'Tonys', 'Shelf'], ['Compton', 'Tiffanys', 'Shelves']]}
b_dict = {'Site':"", 'Store':"", 'Station':""}
for key in a_dict:
    b_dict.update(a_dict) 
    print(b_dict[key[0]])

这是代码当前打印出来的内容

[['LA', 'Sallys', 'Associate '], ['Hollywood', 'Tonys', 'Shelf'], ['Compton', 'Sally', 'Shelves']]
[['SAC', 'Sallys', 'Associate '], ['Townsland', 'Tonys', 'Shelf'], ['Compton', 'Tiffanys', 'Shelves']]

但我想让它打印出来

[['LA', 'Sallys', 'Associate '], ['Hollywood', 'Tonys', 'Shelf'], ['Compton', 'Sally', 'Shelves-A']]
[['SAC', 'Sallys', 'Associate '], ['Townsland', 'Tonys', 'Shelf'], ['Compton', 'Tiffanys', 'Shelves-A']]

【问题讨论】:

  • 没有将-A 添加到任何字符串的代码。你为什么期望得到后一个结果?
  • 那么,我怎样才能在没有硬编码的情况下只将 A 添加到字符串中,而不是 -A?
  • 如果不是硬编码,A 应该从哪里来?
  • 因此,如果 Station 值为 Shelves,我只希望它打印出 ShelvesA
  • 您是否尝试过编写某种循环,包括像if value == 'Shelves' 这样的if 语句,并使用像value + '-A' 这样的字符串连接?

标签: python dictionary append key


【解决方案1】:

在我的回答中,有一些假设和更改才能起作用。如果没有硬编码,您可能意味着键值可以更改,对吧?我将 b_dict 值更改为空列表,以便稍后添加所有商店、站点等。这是我的解决方案。真的希望这是您正在寻找的,因为很难理解您的问题。

a_dict = {'A': [['LA', 'Sallys', 'Associate'], ['Hollywood', 'Tonys', 'Shelf'], ['Compton', 'Sally', 'Shelves']],'B': [['SAC', 'Sallys', 'Associate'], ['Townsland', 'Tonys', 'Shelf'], ['Compton', 'Tiffanys', 'Shelves']]}
b_dict = {'Site':[], 'Store':[], 'Station':[]}



a_dict = [(x[0], x[1] ,x[2]+"-"+k) for k, v in a_dict.items() for x in v]

for obj in a_dict:
    for i, key in enumerate(b_dict.keys()):
        b_dict[key] += [obj[i]]

print(a_dict)
# [('LA', 'Sallys', 'Associate-A'), ('Hollywood', 'Tonys', 'Shelf-A'), ('Compton', 'Sally', 'Shelves-A'), ('SAC', 'Sallys', 'Associate-B'), ('Townsland', 'Tonys', 'Shelf-B'), ('Compton', 'Tiffanys', 'Shelves-B')]

print(b_dict)
# {'Site': ['LA', 'Hollywood', 'Compton', 'SAC', 'Townsland', 'Compton'], 'Store': ['Sallys', 'Tonys', 'Sally', 'Sallys', 'Tonys', 'Tiffanys'], 'Station': ['Associate-A', 'Shelf-A', 'Shelves-A', 'Associate-B', 'Shelf-B', 'Shelves-B']}

【讨论】:

    猜你喜欢
    • 2019-10-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-13
    • 1970-01-01
    • 2016-09-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多