今日内容(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. makefile中的patsubst函数有何作用?

    答:这是个模式替换函数,格式为: $(patsubst <pattern>,<replacement>,<text>) 查找text中的单词,如果匹配pattern ...

  2. 微信小程序wepy开发,$apply()不能更新页面数据的情况

    例如userinfo信息获取到后,$apply()更新后还是没有在页面中显示数据 已发现的原因: 当data中没有定义userinfo时,会发生这样的问题

  3. 论文笔记:Visual Question Answering as a Meta Learning Task

    Visual Question Answering as a Meta Learning Task ECCV 2018 2018-09-13 19:58:08 Paper: http://openac ...

  4. PTA编程总结3—抓老鼠啊~亏了还是赚了?

    题目: 某地老鼠成灾,现悬赏抓老鼠,每抓到一只奖励10元,于是开始跟老鼠斗智斗勇:每天在墙角可选择以下三个操作:放置一个带有一块奶酪的捕鼠夹(T),或者放置一块奶酪(C),或者什么也不放(X).捕鼠夹 ...

  5. .NET Core 2.0 httpclient 请求卡顿解决方法

    var handler = new HttpClientHandler() { AutomaticDecompression = DecompressionMethods.GZip,UseProxy ...

  6. java笔记 -- 类与对象

    封装: 从形式上看, 封装是将数据和行为组合在一个包中, 并对对象的使用者隐藏了数据的实现方式. 对象中的数据称为实例域, 操纵数据的过程称为方法. 对于每个特定的类实例(对象)都有一组特定的实例域值 ...

  7. nginx ----> 官网about页面(翻译)

    Nginx about链接:https://nginx.org/en/ nginx 基本的HTTP服务器功能其他HTTP服务器功能邮件代理服务器功能TCP / UDP代理服务器功能架构和可扩展性经测试 ...

  8. jQuery中的 $.ajax的一些方法

    1. $(document).ajaxConplete(function(){}) 1.8版本之后,只能绑定到document元素上:1.8版本之前,可以帮到其他元素上 当$.ajax执行完成之后,执 ...

  9. 布局神器 display:flex;

    布局神器 display:flex; 2009年,W3C提出了一种新的方案--Flex布局,可以简便.完整.响应式地实现各种页面布局.目前已得到所有现在浏览器的支持. 一.Flex布局是什么? Fle ...

  10. 第6天【egrep、bash环境配置及脚本、vim编辑器】

    bash环境配置及脚本(02)_recv bash环境配置及脚本(02)_recv bash环境配置文件: 按生效范围划分,存在两类: 全局配置: /etc/profile /etc/bashrc 个 ...