python - 在二维数组列表(字典)中分配新值
问题描述
我正在尝试在我的字典的二维列表中分配新值。这是我的代码:
DictUP_Days = {'2': [('None', 'Friday'), ('Any', 'Saturday'), ('Any', 'Sunday')]}
S = ['E', 'L', 'D', 'N']
NewDict = {}
for key, value in DictUP_Days.items():
for shift, days in value:
if shift == 'None':
newDict[key] = '',days
elif shift == 'Any':
newDict[key] = S,days
如果我打印出我的,newDict
我会得到:{'2': (['E', 'L', 'D', 'N'], 'Sunday')}
。该程序仅保留我列表中的最后一项(星期日)。
预期的输出应如下所示:{'2': ('', 'Friday'),(['E', 'L', 'D', 'N'], 'Saturday'),(['E', 'L', 'D', 'N'], 'Sunday')}
. 你能告诉我我的错误在哪里吗?谢谢
解决方案
如果您可以就地更新您的字典:
DictUP_Days = {'2': [('None', 'Friday'), ('Any', 'Saturday'), ('Any', 'Sunday')]}
S = ['E', 'L', 'D', 'N']
for key, value in DictUP_Days.items():
for index, (shift, days) in enumerate(value):
if shift == 'None':
value[index] = '',days
elif shift == 'Any':
value[index] = S,days
print(DictUP_Days)
上述输出:
{'2': [('', 'Friday'), (['E', 'L', 'D', 'N'], 'Saturday'), (['E', 'L', 'D', 'N'], 'Sunday')]}
推荐阅读
- quarkus - Optaplanner 自定义阶段命令在本机构建中失败,找不到生成的 Gizmo 供应商
- android - 有没有办法在特定日期之前在应用订阅中销售?
- node.js - 如何使用 nodejs 中的套接字建立多个客户端和服务器连接?
- terraform - Terraform:缺少必需的参数
- animation - 如何修复未在 godot 2d 中播放的翻转动画?
- sharepoint - Sharepoint Online Linkedin 连接
- c# - 如何使用 C# 为 docx 中的每个页脚自动创建
- ssms - 为什么 SSMS 不保留结果的默认目标选项?
- angular - Swiper 忽略了 ng-content
- react-native - Expo av 播放对象的 onPlaybackStatusUpdate 仅在播放/停止时调用,而不是由 progressUpdateIntervalMillis 调用间隔