簡體   English   中英

Python:將值添加到字典中的列表中

[英]Python: Add value into list inside dictionary

嘗試從名為dow的變量向weekdays:[0]添加值。

create_data = {"startDateTime":"2015-02-23T09:05:00-0600","endDateTime":"2015-02-23T10:05:00-0600","accessories":[],"customAttributes":[{"attributeId":"3","attributeValue":""},{"attributeId":"5","attributeValue":"Yes"}],"description":"Placeholder     Description","invitees":[],"participants":[],"recurrenceRule":[{"type":"weekly","interval":2,"weekdays":[0],"repeatTerminationDate":"2015-05-24T09:50:00-0600"}],"resourceId":"15","resources":["15"],"title":"","userId":"26","startReminder":"","endReminder":""}

我在添加字典和列表之間感到困惑。

嘗試了以下操作,但會清除以下錯誤;

create_data['recurrenceRule']['weekdays'] = dow

下面是錯誤。

Traceback (most recent call last):
  File "api.py", line 51, in <module>
    create_data['recurrenceRule']['weekdays'] = dow
TypeError: list indices must be integers, not str  

我如何獲得該價值?

由於create_data['recurrenceRule']值為列表,並且列表包含字典作為項。 因此,我們必須從列表(即字典)中獲取項目,並在其中添加weekdays鍵。

create_data['recurrenceRule'][0]['weekdays'] = dow

create_data是一個字典, recurrenceRule是它的鍵之一。 然后,它的值是一個列表:

>>> create_data['recurrenceRule']
[{'repeatTerminationDate': '2015-05-24T09:50:00-0600', 'interval': 2, 'type': 'weekly', 'weekdays': 2}]

因此,要更改weekdays您首先必須訪問列表中的第一個元素:

create_data['recurrenceRule'][0]['weekdays']=dow
                             ^^^

這就是為什么出現此錯誤的原因:

create_data['recurrenceRule']['weekdays']
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: list indices must be integers, not str

因為您嘗試使用字符串訪問列表的索引(0、1、2 ...)。

暫無
暫無

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

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