问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

仿照示例写一首小诗。 海是水的一部字典 浪花是部首 涛声是音序 鱼虾、海鸥是海的文字

发布网友 发布时间:2022-04-18 08:06

我来回答

6个回答

懂视网 时间:2022-04-18 12:27

字典:

也叫散列表,最大的特点是通过key来查找其对应的值其时间复杂度是O(1).

在Python中怎样用列表实现字典?

用列表实现字典最大的问题就是解决hash冲突,如果在列表中通过计算不同的key得到相同的相同了位置,这时候应该怎么办?

最简单的办法就是使用拉链法.

详解拉链法实现字典的示例

拉链法:就是在一个列表中每个位置再添加一个列表,这样就算是有hash冲突也能够存储进去,当选取的hash函数足够好,

num的数足够大,就能够保证列表中的每一个列表里面只有一个元素。根据key计算的元素所在的位置,然后来取值就能达

到O(1)的时间。

class MyDict:
 def __init__(self, num=100): # 指定列表大小
 self._num = num
 self._lst = []
 for _ in range(self._num):
  self._lst.append([])

 def update(self, key, value): # 添加 key-value
 key_index = hash(key) % self._num
 for i, (k, v) in enumerate(self._lst[key_index]):
  if key == k:
  self._lst[key_index][i] = [key, value]
  break
 else:
  self._lst[key_index].append([key, value])

 def get(self, key): # 根据指定的 key 弹出值
 key_index = hash(key) % self._num
 for k, v in self._lst[key_index]:
  if k == key:
  return v
 else:
  raise KeyError('No such {} key'.format(key))

 def pop(self, key): # 根据 key 弹出元素 并且删除
 key_index = hash(key) % self._num
 for i, (k, v) in enumerate(self._lst[key_index]):
  if k == key:
  result = v
  self._lst.pop[self._num](i)
  return result
 else:
  raise KeyError('No such {} key'.format(key))

 def __getitem__(self, key): # 可以通过下标来取值
 key_index = hash(key) % self._num
 for k, v in self._lst[key_index]:
  if k == key:
  return v
 else:
  raise KeyError('No such {} key'.format(key))

 def keys(self): # 取得所有的key
 for index in range(self._num):
  for k, v in self._lst[index]:
  yield k

 def values(self): # 取得所有的 value
 for index in range(self._num):
  for k, v in self._lst[index]:
  yield v

 def items(self): # 取得所有的条目
 for index in range(self._num):
  for item in self._lst[index]:
  yield item

通过key查到的时间,可见下图

详解拉链法实现字典的示例

热心网友 时间:2022-04-18 09:35

挫折是人生的一段插曲:失败是曲谱,泪水是音符,酸甜苦辣是挫折的歌词

山川是大地的一部乐章,隆起的是高音部,凹陷的是低音部,花草树木是山川的音符

四季是自然的一部乐章,花草时序曲,树木是音符,风霜雨雪是四季的主旋律

地球是生物的母亲,山峰是怀抱,河水是乳汁,植物动物是地球的孩子 Y(^o^)Y

热心网友 时间:2022-04-18 10:53

挫折是人生的一段插曲:失败是曲谱,泪水是音符,酸甜苦辣是挫折的歌词
山川是大地的一部乐章,隆起的是高音部,凹陷的是低音部,花草树木是山川的音符
四季是自然的一部乐章,花草时序曲,树木是音符,风霜雨雪是四季的主旋律
地球是生物的母亲,山峰是怀抱,河水是乳汁,植物动物是地球的孩子
宇宙是地球的一部字典:恒星是部首,彗星是音序,行星,卫星是宇宙的文字
地球是生物的母亲,云彩是呵护,雨露是母乳,江河、森林是地球的关爱.
山雨是钢琴演奏师演奏的音乐:大地是琴键;雨丝是手指;雨声就是飘扬的音乐。
天是世界的一本五线谱;云朵是音符;风声是间格;小鸟、风筝是天的五条线。
山是生物进化的一部史书,岩层是书页,化石是文字,古生物的遗体、遗迹是精美的图案。
天空是世界的舞台,风是配乐,阳光是照明,白云、小鸟是天空的演员。
风暴是自然的一部乐曲,闪电是序曲,雷声是音符,狂风、暴雨是风暴的主旋律。
森林是树的一部字典 树干是部首 树叶是音序 鸟儿、昆虫是森林的文字。
天空是世界的舞台,风是配乐,阳光是照明,白云、小鸟是天空的演员。

热心网友 时间:2022-04-18 12:28

森林是树的一部字典 树干是部首 树叶是音序 鸟儿、昆虫是森林的文字

热心网友 时间:2022-04-18 14:19

雨是自然的一部字典:雨丝是部首,雨声是音序,水花雨幕是雨的文字。

热心网友 时间:2022-04-18 16:27

森林是树的一部字典:树干是部首,树叶是音序,鸟儿、昆虫是森林的文字。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
前几天在楼下吃饭,店家推荐使用淘气购支付,听说可以用豆豆换东西。会... 绵阳淘气购科技有限公司怎么样? 四川省淘气购商贸有限公司怎么样? 盐酸洛美沙星分散片的作用 盐酸洛美沙星颗粒的剂量如何根据不同感染情况调整? 盐酸洛美沙星颗粒的化学名是什么? 盐酸洛美沙星胶囊功效 洛美沙星盐酸洛美沙星 洛美沙星的功效与作用 盐酸洛美沙星颗粒能治疗哪些类型的感染? 上海市应急管理局特种作业证件查询 上海特种作业查询系统 上海电工操作证网上查询网址 pmp有必要考吗 花钱在51CTO上培训考PMP值得吗? C#泛型集合、字典型集合,示例。教程。 复活节是哪个国家的节日? 在意大利的复活节有什么活动啊? 关于python字典示例中person = people.get(name,{})报错 笔记本电脑电池的使用 yy开播自己录制视频没有声音 VBA代码示例:字典匹配 /招商银行e招贷突然没了,怎么回事?信用卡没有逾期过,e招贷的额度还有48000,人早上看3万, 皖事通登记过了子女怎么查不到 生日相同问题,C语言编程,用字典结构解决,求解啊速度~~~ 民生保险为何没有排名 民生保险是民生银行的吗是否靠谱 现在胃消化不良?请问可以吃煮熟的洋葱吗?会不会有影响呢? 英语达人帮忙手工翻译几段话(中译英) 有大神尝试过使用云计算进行fluent计算的吗 剪纸工人要剪60张纸,已经剪好12张,剩下的要6天剪完,平均每天剪多少张? 小光发现剪纸工人为了省工,通常将纸折成多层,一刀多张。如果想剪出如 剪纸工人易得哪些病 DIY剪纸吧 我想雇佣工人刺绣的合同书 瑞士有哪些机构可以做羊胎素注射? 干细胞移植什么医院好 演员张晓龙吃的什么牌子的葡萄籽胶囊 求英语翻译 不要机器翻的 高悬赏 56网站为什么手机不能评论啊 什么牌子的葡萄籽好,有效果啊 u盘里所有的文件夹为什么都成了快捷方式的了?是中病毒了吗? U盘里的东西都变成了快捷方式怎么办? 仿写 示例 ;海是水的一部字典;浪花是部首;涛声是音序;鱼虾、海鸥是海的文字。 环境艺术设计和室内设计有什么区别吗 环境艺术设计与建筑室内设计有什么不同? 环境艺术设计与室内设计哪个专业好? 室内设计和环境艺术设计有区别吗?环境艺术设计包括室内设计吗? 环境艺术设计和室内有什么区别 笔记本电脑的电池如何使用最好?