[英]How to update a dict value in Python?
嘗試更新dict
值,但不知何故出錯。
這是我的代碼:
print('issue.tags: ', issue.tags)
print(type(issue.tags))
for tag in issue.tags: # Compare eta with tag, to see if changed
print('tag: ', tag)
print(type(tag))
print('tag.get("id", ""): ', tag.get('id', ''))
print(type(tag.get('id', '')))
if ('ETA' in tag.get('id', '')):
try:
oldETA = datetime.datetime.strptime(tag.get('id', '')[4:], '%Y-%m-%d')
except:
oldETA = str(tag.get('id', '')[4:])
if (eta_cet != oldETA):
etaChanged = True
tag['id'][0] = ''.join(['ETA ', str(eta_cet)])
這是我在執行代碼時得到的:
issue.tags: [{'id': 'ETA None'}]
<class 'list'>
tag: {'id': 'ETA None'}
<class 'dict'>
tag.get("id", ""): ETA None
<class 'str'>
Traceback (most recent call last):
File "/home/karimbel/ABmktIntel/env/ABmktIntel-1.0/runtime/bin/hello.py", line 11, in <module>
load_entry_point('ABmktIntel==1.0', 'console_scripts', 'hello.py')()
File "/home/karimbel/ABmktIntel/env/ABmktIntel-1.0/runtime/lib/python3.6/site-packages/a_bmkt_intel/hello_world.py", line 64, in main
commentIssueWithETA(results, sim)
File "/home/karimbel/ABmktIntel/env/ABmktIntel-1.0/runtime/lib/python3.6/site-packages/a_bmkt_intel/hello_world.py", line 127, in commentIssueWithETA
tag['id'][0] = ''.join(['ETA ', str(eta_cet)])
TypeError: 'str' object does not support item assignment
有誰知道我是否做錯了什么?
我想將字符串值從“ETA None”更改為“ETA + str(eta_cet)”。 str(eta_cet) 是“2019-12-31”。 所以基本上我想擁有一個新的標簽 id 值“ETA 2019-12-31”。
如果tag
是一個dict
則tag['id']
指的是字符串'ETA None'
。
也許你的任務應該是tag['id'] = ''.join(['ETA ', str(eta_cet)])
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.