字典元素的增删改

字典对象创建以后,可以对对象进行添加键值对、修改键或值或者删除指定键值对等操作。[大谦MATLAB,dqmatlab点com]

向字典增加元素

创建字典对象以后,可以向字典对象中添加键值对。

【MATLAB】

直接通过引用赋值的方式向字典添加元素。

code.matlab
>> d("No004")="张三"
d =
  具有 4 个条目的 dictionary(string ⟼ string):
    "No001""刘丹"
    "No002""朱晓琳"
    "No003""马忠"
    "No004""张三"

或使用insert函数插入键值对。

code.matlab
>> d=insert(d,"No004","张三")

与上面的效果相同。也可以一次添加多个键值对。

code.matlab
>> d2=insert(d,[ "No005" "No006"],["李四" "王五"],Overwrite=false)
d2 =
  具有 6 个条目的 dictionary(string ⟼ string):
    "No001""刘丹"
    "No002""朱晓琳"
    "No003""马忠"
    "No004""张三"
    "No005""李四"
    "No006""王五"

【Python】

向字典对象dt中添加新的键值对:

code.python
>>> dt['No010']='田欣'
>>> dt
{'No001': '刘丹', 'No002': '朱晓琳', 'No003': '马忠', 'No010': '田欣'}

也可以使用字典对象的update方法添加键值对。

code.python
>>> dt.update({'No010':'田欣'})    #添加键值对

修改键对应的值

下面修改字典对象已有键值对中的值。

【MATLAB】

通过引用赋值的方法可直接修改键对应的值。

code.matlab
>> d("No002")="赵云"
d =
  具有 3 个条目的 dictionary(string ⟼ string):
    "No001""刘丹"
    "No002""赵云"
    "No003""马忠"

一次修改多个键的值。

code.matlab
>> d(["No002" "No003"])=["李湘云" "韩军"]
d =
  具有 3 个条目的 dictionary(string ⟼ string):
    "No001""刘丹"
    "No002""李湘云"
    "No003""韩军"

【Python】

Python中修改指定键对应的值,在字典对象后面用中括号([])指定键名,在后面指定新的值。下面将字典对象dt中第1个键的值改为"王东"。

code.python
>>> dt['No001']='王东'

也可以使用字典对象的update方法修改键值对。

code.python
>>> dt.update({'No001':'王东'})
>>> dt
{'No001': '王东', 'No002': '朱晓琳', 'No003': '马忠'}

删除字典元素

【MATLAB】

MATLAB中给字典中键对应的值赋值为空数组,可删除对应的键值对。

code.matlab
>> d("No003")=[]
d =
  具有 2 个条目的 dictionary(string ⟼ string):
    "No001""刘丹"
    "No002""李湘云"

用remove函数删除指定键对应的键值对。接着上面的操作:

code.matlab
>> d=remove(d,"No001")
d =
  具有 2 个条目的 dictionary(string ⟼ string):
    "No002""李湘云"

【Python】

Python中使用del命令删除字典中的键值对。

code.python
>>> del dt['No001']
>>> dt
{'No002': '朱晓琳', 'No003': '马忠'}

将指定的键作为函数参数,使用字典对象的pop方法删除指定键值对。该方法返回指定键对应的值。

code.python
>>> dt2=dt.pop('No001')
>>> dt2
'朱晓琳'
>>> dt
{'No003': '马忠'}

下面介绍清空字典。

【MATLAB】

MATLAB中,将字典设置为空字典可达到清空字典的效果。

code.matlab
>> d=dictionary()
d =
  具有未设置的键和值类型的 dictionary。

【Python】

使用字典对象的clear方法清空字典中的所有键值对。

code.python
>>> dt.clear()
>>> dt
{}