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>
相关推荐
高山我梦口香糖18 分钟前
[react]searchParams转普通对象
开发语言·前端·javascript
信号处理学渣39 分钟前
matlab画图,选择性显示legend标签
开发语言·matlab
红龙创客40 分钟前
某狐畅游24校招-C++开发岗笔试(单选题)
开发语言·c++
蓝天星空41 分钟前
Python调用open ai接口
人工智能·python
jasmine s1 小时前
Pandas
开发语言·python
郭wes代码1 小时前
Cmd命令大全(万字详细版)
python·算法·小程序
leaf_leaves_leaf1 小时前
win11用一条命令给anaconda环境安装GPU版本pytorch,并检查是否为GPU版本
人工智能·pytorch·python
biomooc1 小时前
R 语言 | 绘图的文字格式(绘制上标、下标、斜体、文字标注等)
开发语言·r语言
夜雨飘零11 小时前
基于Pytorch实现的说话人日志(说话人分离)
人工智能·pytorch·python·声纹识别·说话人分离·说话人日志
骇客野人1 小时前
【JAVA】JAVA接口公共返回体ResponseData封装
java·开发语言