python之数据结构与算法(数据结构篇)-- 字典

一、字典的概念

这里我使用"小羊们"举例子,现在我需要去创建一个"羊村小羊们的身高"字典去保存小羊们的身高,对小羊们的身高进行查询、增加、删除、遍历等一系列操作。去更好的理解,字典是个什么东东!!!


二、字典实现思路

1.定义一个"羊村小羊们的身高"字典

python 复制代码
# 定义一个"羊村小羊们的身高"字典
dict = {"喜羊羊":185, "美羊羊":170, "懒羊羊":160, "沸羊羊":180}

2.添加一个"慢羊羊的身高元素"

python 复制代码
# 添加一个"慢羊羊的身高元素"
dict["慢羊羊"] = 165

3.删除一个"沸羊羊的身高元素"

python 复制代码
# 删除一个"沸羊羊的身高元素"
del dict["沸羊羊"]

4.修改一个"喜羊羊的身高元素"

python 复制代码
# 修改一个"喜羊羊的身高元素"
dict["喜羊羊"] = 190

5.查找一个"美羊羊的身高元素"

python 复制代码
# 查找一个"美羊羊的身高元素"
print(dict["美羊羊"])

6.遍历"羊村小羊们的身高"字典

python 复制代码
# 遍历"羊村小羊们的身高"字典
for key in dict:
    print(key, dict[key])

7.遍历"羊村小羊们的身高"字典的值

python 复制代码
# 遍历"羊村小羊们的身高"字典的值
for value in dict.values():
    print(value)

8.遍历"羊村小羊们的身高"字典的键

python 复制代码
# 遍历"羊村小羊们的身高"字典的键
for key in dict.keys():
    print(key)

9.遍历"羊村小羊们的身高"字典的键值对

python 复制代码
# 遍历"羊村小羊们的身高"字典的键值对
for key, value in dict.items():
    print(key, value)

10.判断"羊村小羊们的身高"字典中是否存在某个键

python 复制代码
# 判断"羊村小羊们的身高"字典中是否存在某个键
if "喜羊羊" in dict:
    print("喜羊羊在羊村小羊们的身高字典中")
else:
    print("喜羊羊不在羊村小羊们的身高字典中")

11.判断"羊村小羊们的身高"字典中是否存在某个值

python 复制代码
# 判断"羊村小羊们的身高"字典中是否存在某个值
if 170 in dict.values():
    print("170在羊村小羊们的身高字典中")
else:
    print("170不在羊村小羊们的身高字典中")

12.判断"羊村小羊们的身高"字典是否为空

python 复制代码
# 判断"羊村小羊们的身高"字典是否为空
if dict:
    print("羊村小羊们的身高字典不为空")
else:
    print("羊村小羊们的身高字典为空")

13.获取"羊村小羊们的身高"字典的长度

python 复制代码
# 获取"羊村小羊们的身高"字典的长度
print(len(dict))

14.清空"羊村小羊们的身高"字典

python 复制代码
# 清空"羊村小羊们的身高"字典
dict.clear()

15.删除"羊村小羊们的身高"字典

python 复制代码
# 删除"羊村小羊们的身高"字典
del dict

三、python代码实现

python 复制代码
# 定义一个"羊村小羊们的身高"字典
dict = {"喜羊羊":185, "美羊羊":170, "懒羊羊":160, "沸羊羊":180}

# 添加一个"慢羊羊的身高元素"
dict["慢羊羊"] = 165

# 删除一个"沸羊羊的身高元素"
del dict["沸羊羊"]

# 修改一个"喜羊羊的身高元素"
dict["喜羊羊"] = 190

# 查找一个"美羊羊的身高元素"
print(dict["美羊羊"])

# 遍历"羊村小羊们的身高"字典
for key in dict:
    print(key, dict[key])

# 遍历"羊村小羊们的身高"字典的值
for value in dict.values():
    print(value)

# 遍历"羊村小羊们的身高"字典的键
for key in dict.keys():
    print(key)

# 遍历"羊村小羊们的身高"字典的键值对
for key, value in dict.items():
    print(key, value)

# 判断"羊村小羊们的身高"字典中是否存在某个键
if "喜羊羊" in dict:
    print("喜羊羊在羊村小羊们的身高字典中")
else:
    print("喜羊羊不在羊村小羊们的身高字典中")

# 判断"羊村小羊们的身高"字典中是否存在某个值
if 170 in dict.values():
    print("170在羊村小羊们的身高字典中")
else:
    print("170不在羊村小羊们的身高字典中")

# 判断"羊村小羊们的身高"字典是否为空
if dict:
    print("羊村小羊们的身高字典不为空")
else:
    print("羊村小羊们的身高字典为空")

# 获取"羊村小羊们的身高"字典的长度
print(len(dict))

# 清空"羊村小羊们的身高"字典
dict.clear()

# 删除"羊村小羊们的身高"字典
del dict

四、HYTML可视化实现

python 复制代码
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<title>羊村小羊们的身高</title>
<style>
  body { font-family: Arial, sans-serif; }
  .container { margin: 20px; }
  .output { margin-top: 10px; padding: 10px; background-color: #f9f9f9; border: 1px solid #ddd; white-space: pre-wrap; }
</style>
</head>
<body>
<div class="container">
  <h1>羊村小羊们的身高</h1>
  <button onclick="runCode()">运行代码</button>
  <div id="output" class="output"></div>
</div>

<script>
function runCode() {
  // 定义字典
  let heights = {"喜羊羊":185, "美羊羊":170, "懒羊羊":160, "沸羊羊":180};
  
  // 添加慢羊羊的身高元素
  heights["慢羊羊"] = 165;
  
  // 删除沸羊羊的身高元素
  delete heights["沸羊羊"];
  
  // 修改喜羊羊的身高元素
  heights["喜羊羊"] = 190;
  
  // 查找并打印美羊羊的身高
  let meiYangYangHeight = heights["美羊羊"];
  
  // 准备输出内容
  let output = `美羊羊的身高是:${meiYangYangHeight}cm\n`;

  // 遍历字典并打印所有键值对
  for (let [key, value] of Object.entries(heights)) {
    output += `${key} 的身高是:${value}cm\n`;
  }

  // 遍历并打印所有的值
  output += "\n遍历所有的值:\n";
  for (let value of Object.values(heights)) {
    output += `${value}\n`;
  }

  // 遍历并打印所有的键
  output += "\n遍历所有的键:\n";
  for (let key of Object.keys(heights)) {
    output += `${key}\n`;
  }

  // 判断是否存在某个键和值
  output += "\n检查键和值的存在性:\n";
  if ("喜羊羊" in heights) {
    output += "喜羊羊在羊村小羊们的身高字典中\n";
  } else {
    output += "喜羊羊不在羊村小羊们的身高字典中\n";
  }

  if (Object.values(heights).includes(170)) {
    output += "170在羊村小羊们的身高字典中\n";
  } else {
    output += "170不在羊村小羊们的身高字典中\n";
  }

  // 检查字典是否为空
  if (Object.keys(heights).length > 0) {
    output += "羊村小羊们的身高字典不为空\n";
  } else {
    output += "羊村小羊们的身高字典为空\n";
  }

  // 获取字典的长度
  output += `\n羊村小羊们的身高字典的长度是:${Object.keys(heights).length}\n`;

  // 显示结果
  document.getElementById('output').innerText = output;
}
</script>
</body>
</html>
相关推荐
天启HTTP几秒前
开启全局代理后网络变慢,问题出在哪
开发语言·前端·网络·tcp/ip·php
Tbisnic4 分钟前
AI大模型学习 第十天:让程序“指挥”大模型 —— 从对话到工具调用
人工智能·python·ai·大模型·react·cot·提示词工程
丑过三八线4 分钟前
Runc 深度解析:从原理到实操
java·linux·开发语言·docker·容器·rpc
卡布鲁6 分钟前
Webpack 核心原理与自定义 Loader/Plugin 实战
前端·javascript
伊布拉西莫6 分钟前
Flask 请求生命周期
后端·python·flask
STDD7 分钟前
ntfy 自托管推送通知服务搭建:一条 curl 命令向手机发送通知
java·开发语言·智能手机
小林ixn8 分钟前
从拼多多手机号验证到模板引擎:深入正则表达式与 JS 字符串处理
开发语言·javascript·正则表达式
智码看视界12 分钟前
Web Storage 的无障碍实践与工程化应用
前端·javascript·web