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>
相关推荐
小飞悟6 分钟前
🎯 什么是模块化?CommonJS 和 ES6 Modules 到底有什么区别?小白也能看懂
前端·javascript·设计
浏览器API调用工程师_Taylor7 分钟前
AOP魔法:一招实现登录弹窗的全局拦截与动态处理
前端·javascript·vue.js
测试者家园7 分钟前
基于DeepSeek和crewAI构建测试用例脚本生成器
人工智能·python·测试用例·智能体·智能化测试·crewai
FogLetter8 分钟前
初识图片懒加载:让网页像"懒人"一样聪明加载
前端·javascript
liujing1023292910 分钟前
Day04_刷题niuke20250703
java·开发语言·算法
大模型真好玩11 分钟前
准确率飙升!Graph RAG如何利用知识图谱提升RAG答案质量(四)——微软GraphRAG代码实战
人工智能·python·mcp
呆呆的心14 分钟前
JavaScript 深入理解闭包与柯里化:从原理到实践 🚀
javascript·面试
快起来别睡了15 分钟前
看完这篇文章,你就知道什么是proxy
javascript
请你吃div15 分钟前
JavaScript 实用函数大全(超实用)
前端·javascript·面试
一个水瓶座程序猿.17 分钟前
Vue3 中使用 Vueuse
前端·javascript·vue.js