Python 如何向列表中添加键、值对?
我希望能够创建一个键列表,列表对(我认为这是描述我想要的解决方案的最准确的方式…) 我有一个字典列表,我想为每个字典添加一个元素,这是一个字典列表(一口,我知道…) 为此,我尝试将键、值对附加到列表中。当我这样做时,我得到一个语法错误,表面上是在key:value对中的冒号上出错的 这是我的密码:Python 如何向列表中添加键、值对?,python,list,dictionary,Python,List,Dictionary,我希望能够创建一个键列表,列表对(我认为这是描述我想要的解决方案的最准确的方式…) 我有一个字典列表,我想为每个字典添加一个元素,这是一个字典列表(一口,我知道…) 为此,我尝试将键、值对附加到列表中。当我这样做时,我得到一个语法错误,表面上是在key:value对中的冒号上出错的 这是我的密码: d_l[0]['abilities'] = list() d_l[0]['abilities'].append(abilities_m_l[job_row]['Element Name']:list(
d_l[0]['abilities'] = list()
d_l[0]['abilities'].append(abilities_m_l[job_row]['Element Name']:list()) # ability: stats about ability
其中d_l是一个字典列表,“能力”是我正在创建的一个键
这是我的错误(插入符号在冒号上(尽管在过去它错误地标记了错误的位置))
如果有帮助,这是所需的总体结构:
{
'job':'clerk', 'description': 'works in a bank', 'abilities': [
'math': [
'imp': {
'Data Value': 4.5,
'N' : 8,
'S_E': 0.19
},
'level': {
'Data Value': 4.75,
'N': 8,
'S_E': 0.25
}
],
'english': [
'imp': {
},
'level': {
}
],
'dexterity': [
'imp':{
},
'level': {
}
]
]
},
非常感谢!如果您看到我在上面的安排中存在明显的缺陷(也许我应该使用字典而不是列表),请告诉我。您想附加一个
dict
-注意{}
,例如:
.append( {abilities_m_l[job_row]['Element Name']:list()} )
对于空列表使用
[]
更具python风格和效率…谢谢Jon!非常有用。为什么效率更高?因为我不调用函数?@goldisfine主要是因为编译器可以优化[]
,而list
可能需要一个可数…@goldisfine:是的,list()
是一个全局查找(查找名为list
的对象),然后是一个调用(调用与名称list
关联的对象)<代码>[]立即被视为空列表对象。
.append( {abilities_m_l[job_row]['Element Name']:list()} )