簡體   English   中英

如何更新 Python 中的字典值?

[英]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是一個dicttag['id']指的是字符串'ETA None'

也許你的任務應該是tag['id'] = ''.join(['ETA ', str(eta_cet)])

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM