首页 > 其他分享 >pythton基础-字典

pythton基础-字典

时间:2022-08-26 19:58:49浏览次数:97  
标签:key gender 基础 name pythton dict 哈希 字典

pythton基础-字典

 

   一. 字典的简单介绍

 

字典(dict)是python中唯 一的 一个映射类型.他是以{ }括起来的键值对组成. 在dict中key是唯 一的. 在保存的时候, 根据key来计算出 一个内存地址. 然后将key-value保存在这个地址中.

 

这种算法被称为hash算法, 所以, 切记, 在dict中存储的key-value中的key'必须是可hash的,

 

如果你搞不懂什么是可哈希, 暂时可以这样记, 可以改变的都是不可哈希的,那么可哈希就意味着不可变. 这个是为了能准确的计算内存地址而规定的.

 

已知的可哈希(不可变)的数据类型: int, str, tuple, bool

 

不可哈希(可变)的数据类型: list, dict, set

 

语法 :

 

{key1: value1, key2: value2....}

 

注意: key必须是不可变(可哈希)的. value没有要求.可以保存任意类型的数据

 

dict保存的数据不是按照我们添加进去的顺序保存的. 是按照hash表的顺序保存的.  而hash表不是连续的. 所以不能进行切片工作. 它只能通过key来获取dict中的数据

 

 二. 字典的增删改查和其他相关操作

1.  增加

 

2.  删除

 

3.  修改

  

4.  查询

 查询⼀般⽤key来查找具体的数据

 

5.  其他相关操作

三. 字典的嵌套

 

练习:

 

 

 作业

 
students = [
    {'name': '张三', 'age': 23, 'score': 88, 'tel': '23423532', 'gender': '男'},
    {'name': '李四', 'age': 26, 'score': 80, 'tel': '12533453', 'gender': '女'},
    {'name': '王五', 'age': 15, 'score': 58, 'tel': '56453453', 'gender': '男'},
    {'name': '赵六', 'age': 16, 'score': 57, 'tel': '86786785', 'gender': '不明'},
    {'name': '小明', 'age': 18, 'score': 98, 'tel': '23434656', 'gender': '女'},
    {'name': '小红', 'age': 23, 'score': 72, 'tel': '67867868', 'gender': '女'},
]

# 1.打印不及格学生的名字和对应的成绩
# 2.统计未成年学生的个数
# 3.打印手机尾号是8的学生的名字
# 4.打印最高分和对应的学生的名字 (不允许使用max和sort)
# 5.将列表按学生成绩从大到小排序
# 6.删除性别不明的所有学生

# 2. 将url中所有参数取出并以键值对的形式装在一个字典中
# "https://iruance.com?username=admin&password=123456&sex=GG&from=China"
# 示例输出如下:
# {'username': 'admin', 'password': '123456', 'sex': 'GG', 'from': 'China'}

 

 

标签:key,gender,基础,name,pythton,dict,哈希,字典
From: https://www.cnblogs.com/hcx990214/p/16629008.html

相关文章

  • python基础-is 和==的区别及编码和解码
    python基础-is和==的区别及编码和解码 is和==的区别 #a='alex@'#a1='alex@'#print(aisa1)#Fales#......
  • python基础-set集合,深浅拷贝
    python基础-set集合,深浅拷贝  一.基础数据类型补充补充给一个字符串基本操作 列表:循环删除列表中的每一个元素 分析原因:for的运行过程.会有一个......
  • python基础-函数
    python基础-函数 一.什么是函数1.我们到目前为止,已经可以完成一些软件的基础功能了.那么我们来完成这样一个功能:约会:  ok.soeasy.我们已经完成了对......
  • Golang入门基础1
    Golang入门基本的项目结构go的环境搭建比较简单就直接跳过了工程结构如下每一个go程序都需要依赖一个包现在写一个简单的程序packagemainimport"fmt"funcmain(......
  • FLTK基础 - 创建第一个窗口
    //Fl.H是必须包含的头文件#include<FL/Fl.H>#include<FL/Fl_Window.H>#include<FL/Fl_Box.H>intmain(intargc,char**argv){//创建一个窗口,接下来创建......
  • Java基础
    1.java.sun.com下载JDK,教学环境下载JDK17,生产环境下载JDK8或者112.配置path环境变量和JAVA_HOME3.要写代码先写注释4.标识符要有意义且符合规范5.变量的作用域通常是......
  • Java 基础 - 正则表达式
     一、正则表达式 正则表达式是Java中一门独立的语言,用于检测特定字符串是否符合规则。正则表达式就是用来定义匹配的规则的。1.1规则定义   1.2用法  ......
  • 【尚硅谷】SpringBoot2零基础入门教程(spring boot2干货满满)雷神讲授
    https://www.bilibili.com/video/BV19K4y1L7MT?spm_id_from=333.337.search-card.all.click&vd_source=b0cee746b0adbaa67743475d986bd0f8P1: P2:spring生态圈<--1:1......
  • Spring Boot 2.x基础教程:使用Redis的发布订阅功能
    通过前面一篇集中式缓存的使用教程,我们已经了解了Redis的核心功能:作为K、V存储的高性能缓存。接下来我们会分几篇来继续讲讲Redis的一些其他强大用法!如果你对此感兴趣,一定......
  • HCIA-datacom 8.1 网络编程与自动化基础
    前言:把今天的python讲完,我们的所有HCIA-datacom的实验就做完了,但是这就够了吗?不够的,我们还需要做一个综合实验。但是综合实验,我就不会像前面讲解的这么细致了,因为如果你不......