今日内容(dict)

1.基本格式

2.独有方法

3.公共

4.强制转换

1.基本格式

  • 字典(可变类型,3.6之后是有序)
  • 帮助用户去表示一个事物的信息(事物是有多个属性)
  • 键值不能为集合,列表,字典等不可hash类型
data={键:值,键:值}
info={"name":"Gao","age":18,"hobby":"music"}#键值对
info['name']
info['age']

1.独有方法

1.keys()
获取字典中所有的键 name age hobby
#列表 / 字典 内部可以修改删除===>不可以哈希
====>
#键值创建后,就不能被修改 ===>列表 / 字典 不能当做键值 info={"name":"Gao","age":18,"hobby":"music"}#键值对
print(info.keys())
print(type(info.keys()))
#dict_keys(['name', 'age', 'hobby'])
#<class 'dict_keys'>
#打印出类似列表的一组key值
2.values()

info={"k1":"v1","k2":"v2"}
print(info.values())
print(type(info.values()))
#dict_values(['v1', 'v2'])
#<class 'dict_values'>
#打印出类似列表的一组value值
3.items()
得到的是多个元祖
#获取字典中所有的键值对
for v1,v2 in info.items():
print(v1,v2)
#('name', 'Gao')
#('age', 18)
#('hobby', 'music') info={"name":"Gao","age":18,"hobby":"music"}#键值对
print(info.items())
#dict_items([('name', 'Gao'), ('age', 18), ('hobby', 'music')])
4.get(键)
  • 取对应key的value值

  • get相比于index 会自行判断不会报错

u1=["alex",'123',11]
print(u1[123])
#报错 超出范围 info={"k1":"v1","k2":"v2"}
print(info['k111'])
#报错
print(info.get("k111"))#None 空
#None 表示空类型 print(info.get("k111",666)) #如果有值则返回666
#666
5.pop("key")
info={"k1":"v1","k2":"v2"}
result=info.pop('k2')#V2
print(result,info)
#v2 {"k1":"v1"}
#del info['k1']
6.update():更新
#没有就添加,有就更新
info={"k1":"v1","k2":"v2"}
info.update("k3":"v3","k4":"v4")
print(info)
#{"k3":"v3","k4":"v4"}

2.公共方法

1.len()
2.index

​ 索引值就是键值

3.切片/步长:[没有]

因为字典是无序的

4.for:
for key1 in info.keys():
print(keys)
for v1 in info.keys():
print(v1)
for k,v in info.items():
print(k,v)
for val in info:
# val==key
#for 循环默认输出的是键值
5.修改(存在就修改,不存在,就添加)
#1.改值
info['age']=19
print(info) #2.改键
#删除后再增加
del info['name']
info['XXXX']="x1"
print(info)
6.删除del
del info['name']
print(info)

3.强制转换dict()

4.练习

#1.用户输入键,输出对应的键值
# info={"name":"Gao","age":18,"hobby":"music"}
#键值对
# #print(info.items())
# for k1,v1 in info.items():
# print(k1,v1)
# val=input("请用户输入:")
# print(info[val]) #2.用户输入键key后 输出value 当用户输入"n"时候结束
# info={}
# while True:
# k=input("请输入键值:")
# if k=='n':
# break
# v=input("请输入value:")
# info[k]=v
# print(info) #3.将mess内容放到字典中以info={"k1":"v1","k2":"v2","k3":"v3"}形式输出
mess="k1|v1,k2|v2,k3|v3"
mess=mess.split(",")
info={}
for ele in mess:
#print(ele)
k1,v1=ele.split('|')
info[k1]=v1
print(info) #9.创造一个用户列表 直到用户输入N结束,然后让用户输入用户名和密码登录,输入 # user_list=[]
#
# while True:
# u=input("请输入用户名:")
# if u.upper()=="N":
# break
# p=input("请输入密码:")
# info={}
# info['name']=u
# info["password"]=p
# user_list.append(info)
#
# print("请登录:")
# count=0
# index=0
# flag=1
# while True:
# name1=input("请输入用户名:")
# pass1=input("请输入密码:")
#
# for ele in user_list:
# if ele["name"]==name1 and ele["password"]==pass1:
# flag=0
# print("登录成功")
# break
# else:
# index += 1
# if index > len(user_list):
# count+=1
# print("输入错误,请重新输入:")
# break
# else:
# print("继续查找")
# continue
# if count > 3 or flag==0:
# break

5.总结

day05 字典的更多相关文章

  1. day05——字典

    day05 字典 字典-- dict: 字典无序的,可变的数据类型 用于存储大量数据,字典要比列表快,将数据和数据之间进行关联 lst1 = ['常鑫','李文虎','张宇'] # 姓名 lst2 = ...

  2. python day05字典

    一.字典 1.字典的结构: a={key:value,key2:value},key是不可变的,value是可变的. 例子:dic = {123: 456, True: 999, "id&q ...

  3. day05 字典 dict

    今日内容: 字典 成对的保存数据. 以key:value的形式保存 用{}表示,每一项内容都是key:value, 每项数据之间用逗号隔开 字典中的key是不能重复的. 存储是依靠着key来计算的. ...

  4. 记录我的 python 学习历程-Day05 字典/字典的嵌套

    一.字典的初识 为什么要有字典 字典与列表同属容器型数据类型,同样可以存储大量的数据,但是,列表的数据关联性不强,并且查询速度比较慢,只能按照顺序存储. 什么是字典 先说一下什么叫可变与不可变的数据类 ...

  5. Python全栈--目录导航

    这里更新以Python语言作为基础,想要成为全栈工程师需要掌握的技能... Python基础语法 day01 初识Python day02 while循环 运算符和编码 day03 字符串 day04 ...

  6. python学习之旅

    python学习分类 python基础    +- day01——python初始.变量.常量.注释.基础数据类型.输入.if day02——while.字符串格式化.运算符.编码初识 day03—— ...

  7. 22期老男孩Ptython全栈架构师视频教程

    老男孩Ptython全栈架构师视频教程 Python最新整理完整版22期视频教程 超60G课程容量<ignore_js_op> <ignore_js_op> <ignor ...

  8. 【DG】Oracle_Data_Guard官方直译

    [DG]Oracle Data Guard官方直译 1 Oracle Data Guard 介绍   Oracle Data Guard概念和管理10g版本2   Oracle Data Guard ...

  9. DVWA实验之Brute Force(暴力破解)- Low

    DVWA实验之Brute Force-暴力破解- Low     这里开始DVWA的相关实验~   有关DVWA环境搭建的教程请参考: https://www.cnblogs.com/0yst3r-2 ...

随机推荐

  1. Progressive Scramble【模拟】

    问题 J: Progressive Scramble 时间限制: 1 Sec  内存限制: 128 MB 提交: 108  解决: 45 [提交] [状态] [命题人:admin] 题目描述 You ...

  2. python链接Hive

    之前一直用thrift链接Hive,但在运行时总出现问题,一直报缺少模块的错误,装了这个模块,又报缺少那个模块,连了半天,全是泪啊! 原来thrift链接Hive的.py文件后续没人维护,是连不上的. ...

  3. ssm回顾笔记(一)

    这两天来到了农银,这边即将进行的一个项目是将ssh框架的电商项目迁移到springboot+ssm框架上,所以我基本上是三门技术在同时进行学习,当然以前学过ssm,现在只是回顾. spring 注解 ...

  4. 进程池 和 multiprocessing.Pool模块

    进程池的概念 在程序实际处理问题过程中,忙时会有成千上万的任务需要被执行,闲时可能只有零星任务.那么在成千上万个任务需要被执行的时候,我们就需要去创建成千上万个进程么?首先,创建进程需要消耗时间,销毁 ...

  5. 【转载】Selenium WebDriver的简单操作说明

    转载自:http://blog.csdn.net/xiao190128/article/details/49784121 1.打开一个测试浏览器 对浏览器进行操作首先需要打开一个浏览器,接下来才能对浏 ...

  6. [原]JSBSim 自动驾驶(浅出)

    jsbsim的脚本文件分为几大类: 1.系统脚本: systems  包含通用飞机各部分功能模块组件以及自动飞行控件:Autopilot.xml  和 自动飞行的算法控件:GNCUtilities.x ...

  7. R多行交叉作图

    #中文 UTF-8编码   3.4.0library(Hmisc)mydata = read.table('clipboard',header = T)head(mydata)mycol=c(rgb( ...

  8. 解决跨域No 'Access-Control-Allow-Origin' header is present on the requested resource.

    用angular发起http.get(),访问后端web API要数据,结果chrome报错:跨域了 Access to XMLHttpRequest at 'http://127.0.0.1:300 ...

  9. [Vue]createElement参数

    一.createElement 函数模板 // @returns {VNode} createElement( // {String | Object | Function} // 一个 HTML 标 ...

  10. 『Python CoolBook』C扩展库_其一_用法讲解

    不依靠其他工具,直接使用Python的扩展API来编写一些简单的C扩展模块. 本篇参考PythonCookbook第15节和Python核心编程完成,值得注意的是,Python2.X和Python3. ...