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>
相关推荐
bin915321 分钟前
DeepSeek 助力 Vue 开发:打造丝滑的二维码生成(QR Code)
前端·javascript·vue.js·ecmascript·deepseek
@LitterFisher25 分钟前
Excell 代码处理
前端·javascript·excel
winfredzhang32 分钟前
Python实战:Excel中文转拼音工具开发教程
python·安全·excel·汉字·pinyin·缩写
奔跑吧邓邓子35 分钟前
【Python爬虫(34)】Python多进程编程:开启高效并行世界的钥匙
开发语言·爬虫·python·多进程
Heris991 小时前
2.22 c++练习【operator运算符重载、封装消息队列、封装信号灯集】
开发语言·c++
----云烟----1 小时前
C/C++ 中 volatile 关键字详解
c语言·开发语言·c++
yuanpan1 小时前
23种设计模式之《组合模式(Composite)》在c#中的应用及理解
开发语言·设计模式·c#·组合模式
wang_yb1 小时前
『Python底层原理』--Python属性的工作原理
python·databook
量化投资技术1 小时前
【量化策略】趋势跟踪策略
python·量化交易·量化·量化投资·qmt·miniqmt
BanLul2 小时前
进程与线程 (三)——线程间通信
c语言·开发语言·算法