我有一个包含多个16位数字键的字典,每个字符都分配了5个值,以便稍后以精美格式的列打印。我通过几个函数运行每个键,并希望在它发生时更新值,剩下的就像它们一样。
例如:
ccDict={"111111111111111111":("N/A", "N/A", "N/A", "N/A", "N/A")}
在运行功能后打印:
CardNumber Length Prefix SumDbleEvenPlace SumOddPlace Valid?
11111111111111111111111 19 N/A N/A N/A No
我无法更新和更改特定值,但无法在线找到太多文档。有没有办法更新其中一个特定值,剩下的就是它们原样?转移t
我会好的答案 0 :(得分:2)
您应该为列表使用列表而不是元组。然后你可以这样做:
ccDict={"111111111111111111":["N/A", "N/A", "N/A", "N/A", "N/A"]}
ccDict['111111111111111111'][0] = "new value"
ccDict
{'111111111111111111': ['new value', 'N/A', 'N/A', 'N/A', 'N/A']}
如果你坚持使用元组,你可以这样做:
ccDict={"111111111111111111":("N/A", "N/A", "N/A", "N/A", "N/A")}
new_values = list(ccDict['111111111111111111'])
new_values[0] = "new value"
ccDict['111111111111111111'] = tuple(new_values)
ccDict['111111111111111111']
('new value', 'N/A', 'N/A', 'N/A', 'N/A')
由于听起来您在初始化ccDict值时遇到问题,您可以执行以下操作:
for k in my_list:
ccDict[k] = [str(len(k)), "N/A", "N/A", "N/A", "No"]
如果my_list
是您的cc值列表。