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>
相关推荐
shut up23 分钟前
LangChain - 如何使用阿里云百炼平台的Qwen-plus模型构建一个桌面文件查询AI助手 - 超详细
人工智能·python·langchain·智能体
宝贝儿好1 小时前
【python】第五章:python-GUI编程
python·pyqt
@。1241 小时前
对于灰度发布(金丝雀发布)的了解
开发语言·前端
闲人编程1 小时前
从多个数据源(CSV, Excel, SQL)自动整合数据
python·mysql·数据分析·csv·存储·数据源·codecapsule
C+ 安口木1 小时前
vue中监听window某个属性被添加或值的变化
前端·javascript·vue.js
CoderYanger2 小时前
前端基础-HTML入门保姆级课堂笔记
前端·javascript·css·html
赛博切图仔2 小时前
qiankun、micro-app、wujie,2025年我们该选谁?
前端·javascript
hsjkdhs2 小时前
C++之多层继承、多源继承、菱形继承
开发语言·c++·算法
B站_计算机毕业设计之家2 小时前
推荐系统实战:python新能源汽车智能推荐(两种协同过滤+Django 全栈项目 源码)计算机专业✅
大数据·python·django·汽车·推荐系统·新能源·新能源汽车
茯苓gao2 小时前
Django网站开发记录(一)配置Mniconda,Python虚拟环境,配置Django
后端·python·django