当前位置:首页>python>学Python4️⃣7️⃣ dict (3) (没有.append() )

学Python4️⃣7️⃣ dict (3) (没有.append() )

  • 2026-10-11 07:43:33
学Python4️⃣7️⃣ dict (3) (没有.append() )

学Python4️⃣7️⃣ dict (3) (没有.append() )

作者:小号🎺

前面曾经提到过,dict 的原生函数里,没有 .append() 函数。这一点不像 list 。

这是为什么呢?

可以这样来解释,dict 是随机存储,而list 是顺序存储。

在逻辑上,list 在内存中是按照顺序(下标)依次存放的。所以,list 中要新增一项,可以用.append() 添加在末尾,也可以用 .insert() 插入在某一个指定位置。

但是在 dict 中,键值对(key-value pair)是随机存储,没有所谓的先后顺序。所以在 dict 中,也就没有 .append() ,也没有 .insert() 。

没有 .append() ,也没有 .insert() ,那怎么增加新的信息?

也很简单,直接这样写

  adict = {}

  adict['new_key'] = 'a_new_value'

因为根据 dict 的定义,键具有唯一性。键的唯一性,就意味着:当指定一个已经存在的键,后面跟着 等号 = ... ,就是对这个键重新赋值(修改一个键所对应的值)。当指定一个不存在的键,后面跟着 等号 = ... ,就是新增一个键值对。

除了这样直接在下标中指定一个键的方式,还可以用 .update()函数来更新字典中的信息。当 .update()函数中的参数中含有新的键值对,即相当于新增。

user = {}user.update(name="Charlie", age=28, gender="male")print(user)  # 输出: {'name': 'Charlie', 'age': 28, 'gender': 'male'}
此例中调用.update()时,新增了 姓名、年龄、性别(gender) 三项信息。

再来一个例子。

data = [("score", 95), ("grade", "A")]  # 此处 data 是一个列表students = {"name": "张小华"}students.update(data)print(students)  # 输出: {'name': '张小华', 'score': 95, 'grade': 'A'}

此例中在原有的学生姓名信息之外,新增分数、等级两项信息。

另外,list 和 dict 都自带一个 .pop()函数。pop 原意是“弹出”,是内存(堆栈)操作中的术语。“弹(拼音tán)出”即抛出,不再需要了,删除(delete)了。

不同的是,list 的 .pop() 中的参数是索引(数字),dict 的 .pop() 中的参数是键(通常是一个字符串 str )。

例:字典中通过指定一个键并删除( .pop() )

例:字典中通过指定一个键并删除( .pop() )

# example show:  dict.pop('X')cards = {'人仔': 'Labubu', '游戏': 'Black Legend', '周边': '3 bodies', '潮玩': 'ZXMOTO'}cards_popped = cards.pop('周边')print('cards_deleted:', cards_popped)print('CARDS:', cards)

比较:列表中通过指定一个索引位置并删除( .pop(x) )

# example show:  list.pop(X)cards = ['人仔: Labubu', '游戏: Black Legend', '周边: 3 bodies', '潮玩: ZXMOTO']cards_popped = cards.pop(2)print('cards_deleted:', cards_popped)print('CARDS:', cards)

作业:

① 制定一份采购预算,或整理一份避坑攻略,或陈述某件商品的优点或吐槽其缺点

② 在①的基础上增加一项

③ 在①或②的基础上删除一项( .pop() )

④ 在③的基础上复制( .copy() )

今日实操

作业①

buys={'耳机':99,'手环':199,'眼镜':999,'笔':500}notes={'保质期':'新鲜','品牌':'大','价格':'适中','款式':'时尚'}goods={'环境':'清净','空气':'清新','风景':'秀丽','房价':'不贵'}bads={'交通':'不便','网络':'龟速','言语':'不通','蚊子':'多'}

作业②③ 略

作业④ 复制字典,合并字典

#Python#学Python#大白话#小号#大白小号学Python#原创#分享

最新文章

随机文章