小甲鱼 发表于 2021-9-20 23:41:34

已有 25 人购买  本主题需向作者支付 5 鱼币 才能浏览 购买主题

小古比鱼 发表于 2021-10-26 16:57:17

本节讲解了字典的一些基础知识,包括字典的基本操作、创建字典的六种方式,以及增、删字典内容的相应方法。其中,fromkeys()方法用于创建一个新字典并初始化所有项为相同值,高效快捷,十分常用;pop()方法、popitem()方法、clear()方法和del语句可用于删除字典中的项、清空甚至删除整个字典。此外,我们还了解到了序列与字典的两个重大区别:序列通过位置的偏移存取数据,字典通过键实现写入和读取数据;序列中的元素可以重复,而字典中的每个键都是唯一的。还有一个关于字典的“冷知识”:Python3.7之前的字典内部的存储顺序是无序(没有保障)的,Python3.7之后的字典的存储才是有序的。

lizehao233 发表于 2021-11-22 16:13:47

{:10_257:}

wangtuan 发表于 2021-12-7 16:46:03

>>> x = {"吕布","关羽"}
>>> type(x)
<class 'set'>
>>> y = {"吕布":"小小布","关羽":"小关关"}
>>> type(y)
<class 'dict'>
>>> y = ["吕布"]
>>> y = {"吕布":"小小布","关羽":"小关关"}
>>> y["吕布"]
'小小布'
>>> y["刘备"] = "小备备"
>>> y
{'吕布': '小小布', '关羽': '小关关', '刘备': '小备备'}
>>> a = {"吕布":"小小布","关羽":"小关关","刘备":"小备备"}
>>> b = dic(吕布="小小布",关羽="小关关",刘备="小备备")
Traceback (most recent call last):
File "<pyshell#10>", line 1, in <module>
    b = dic(吕布="小小布",关羽="小关关",刘备="小备备")
NameError: name 'dic' is not defined
>>> b = dict(吕布="小小布",关羽="小关关",刘备="小备备")
>>> c = dict([("吕布","小小布"),("关羽","小关关"),("刘备","小备备")])
>>> d = dict({"吕布":"小小布","关羽":"小关关","刘备":"小备备"})
>>> e = dict({"吕布":"小小布","关羽":"小关关"},刘备="小备备")
>>> f = dict(zip(["吕布","关羽","刘备"],["小小布","小关关","小备备"]))
>>> a == b == c == d == e == f
True
>>> ["fromkeys(iterable[,values]) 可以使用 iterable 参数指定的可迭代对象来创建一个新的字典,并将所有的值初始化为 values 参数指定的值"]
['fromkeys(iterable[,values]) 可以使用 iterable 参数指定的可迭代对象来创建一个新的字典,并将所有的值初始化为 values 参数指定的值']
>>> d = dict.fromkeys("Fish",250)
>>> d
{'F': 250, 'i': 250, 's': 250, 'h': 250}
>>> d["F"] = 70
>>> d
{'F': 70, 'i': 250, 's': 250, 'h': 250}
>>> d["C"] = 67
>>> d
{'F': 70, 'i': 250, 's': 250, 'h': 250, 'C': 67}
>>> ["删除字典中指定的元素---pop(key[,default])"]
['删除字典中指定的元素---pop(key[,default])']
>>> d.pop("s")
250
>>> d
{'F': 70, 'i': 250, 'h': 250, 'C': 67}
>>> d.pop("狗")
Traceback (most recent call last):
File "<pyshell#27>", line 1, in <module>
    d.pop("狗")
KeyError: '狗'
>>> d.pop("狗","没有")
'没有'
>>> d.popitem()
('C', 67)
>>> d
{'F': 70, 'i': 250, 'h': 250}
>>> ["d.popitem(),默认删除字典中最后一组"]
['d.popitem(),默认删除字典中最后一组']
>>> del d["i"]
>>> d
{'F': 70, 'h': 250}
>>> del d
>>> d
Traceback (most recent call last):
File "<pyshell#35>", line 1, in <module>
    d
NameError: name 'd' is not defined
>>> d = dict.fromkeys("Fishc",250)
>>> d
{'F': 250, 'i': 250, 's': 250, 'h': 250, 'c': 250}
>>> d.clear()
>>> d
{}
>>> ["d.clear() ,将字典变为一个空字符"]
['d.clear() ,将字典变为一个空字符']
>>>

Er3nYeager 发表于 2022-5-3 11:37:21

打卡

码农心 发表于 2022-5-16 10:48:05

难搞啊学不会记不得啊

KinokoCC 发表于 2022-5-21 10:26:00

小甲鱼老师比很多其他老师讲字典讲得详细一些

炎凉来寻 发表于 2022-9-2 19:57:41

打卡{:10_257:}

Free_num 发表于 2022-9-18 09:28:13

dic = dict([(1, 3), (2, 4), (1, 5)])
print(dic)
>>>>
{1: 5, 2: 4}
字典的键唯一,字典中原来有的键给了一个新值,那么原来对应的值则被修改

chenjinchao 发表于 2022-9-28 15:39:26

卡打

墨墨在努力吖 发表于 2022-10-9 15:29:24

滴滴滴~打卡{:10_298:}

lxping 发表于 2022-11-3 21:17:04

本帖最后由 lxping 于 2022-11-3 21:18 编辑

使用dict()混合参数创建字典时:
1、只能添加一个列表或字典作为dict()函数参数,否则报错;
2、列表或字典需置于dict()函数的参数第一位,否则报错;
3、添加一个列表或字典作为dict()函数的第一位参数后,随后可以参照第二种方法再添加多个键值对作为参数。
d = dict({"one":1,"two":2},[("three",3),("four",4)])
Traceback (most recent call last):
File "<pyshell#15>", line 1, in <module>
    d = dict({"one":1,"two":2},[("three",3),("four",4)])
TypeError: dict expected at most 1 argument, got 2
d = dict(one=1,{"two":2,"three":3})
SyntaxError: positional argument follows keyword argument
d = dict({"two":2,"three":3},one=1)
d
{'two': 2, 'three': 3, 'one': 1}

migu_sm1 发表于 2022-11-5 13:16:20

Keep learning...

空白君学python 发表于 2022-11-11 15:14:56

为什么大家到这里都能发图片了{:5_100:}

jgz1818 发表于 2022-12-3 20:38:16

搞得好混乱啊{:10_266:}

andyleesh 发表于 2022-12-28 17:28:21

打卡

小蜂队 发表于 2022-12-30 13:23:55

本帖最后由 小蜂队 于 2022-12-30 13:26 编辑

具有映射关系的列表组合,在生活中应用广泛

xiaoxiangx 发表于 2023-1-12 15:08:40

打卡

Wynn_0303 发表于 2023-1-31 18:11:47

打卡

littlewhale 发表于 2023-3-15 20:50:26

打卡~
页: [1] 2
查看完整版本: 第037讲:字典(中)