字典

格式  key  :value

# string list dict
#  1、取数据方便
# 2、速度快,

定义一个空字典:

d = dict()

或者 d = { }

infos  =  {'name':'张流量','sex':'','addr':'火星','age':180}
#
print(infos.get('phone'))#取不到这个key的话,就是None
print(infos.get('phone',110))#如果取不到这个key的话,默认就是110
print(infos['phone'])#如果key不存在会报错

#
infos['phone']=13611087045 #增加一个key
infos.setdefault('小金库','2000w')
infos.setdefault('name','鹏妹妹') #如果key存在的话,不会修改原来key里面的值
infos['name']='鹏妹妹1' #如果key存在的话,会修改原来key对应的value
print(infos)
# #字典是无序的

# #修改
infos['name']='鹏妹妹'
print(infos)

# 删除
infos.pop('name') #指定key来删除
print(infos)
infos.popitem() #随机删除一个key
print(infos)
del infos['phone'] #指定key来删除
print(infos)
infos.clear()  #清空字典
print(infos)

# #方法
print(infos.values())#获取到字典所有的value
print(infos.keys()) #获取到字典所有的key
print(infos.items()) # 获取字典所有的k-v

字典练习

people = {
   '田雨':{
      'age':18,
      'money':200000,
      'clothes':'100',
      'hzp':'n',
      'shoes':['nike','addis','lv','chanle']
   },
   '张流量':{
      '金库':'2000w',
      'house':['三环一套','42'],
      'cars':    {
            'japan':['普拉多','兰德酷路泽'],
            'usa':['林肯','凯迪拉克','福特'],
            'china':['五菱宏光','qq','红旗']
         }
   }
}
people['张流量']['cars']['usa'].append('牧马人')

people['田雨']['shoes'].append('匡威')
print(people)
people['田雨']['money'] = people['田雨']['money']+200
people['田雨']['money'] += 200
print(people)
# #直接循环一个字典的话,那么循环的是字典的key
for p in people:
   print(p)
for k,v in people.items():  #循环的时候,同时取keyvalue
   print(k,'======',v)

练习2

users = {
   'niuhanyang':'123456',
   'yangyafu':'456789',
}
#所有的账号和密码
# username
# pwd
# cpwd
# print( '123456' in users )   #字典里面用in来判断的话,只是判断key是否存在
for i in range(3):
   username = input('账号:').strip()
   passwd = input('密码:').strip()
   cpasswd = input('密码确定:').strip()
   if username=='' or passwd=='' or cpasswd=='':
      print('用户名/密码不能为空')
   elif username in users:
      print('用户名已经被注册!')
   elif passwd!=cpasswd:
      print('两次输入的密码不一致')
   else:
      print('恭喜,注册成功!')
      # users.setdefault(username,passwd)
      users[username]=passwd
      break
else:
   print('错误次数过多')
print(users)

python--字典基本操作的更多相关文章

  1. python字典基本操作

    字典是python中五中基本数据类型之一,虽然它的赋值稍微麻烦点,但用起来真的是很方便.它用键值对来存放数据,所谓键值对,就是一个键,对应一个值,如果后面对前面的键再次赋值,第一次的值就被覆盖掉.像是 ...

  2. Python 字典(Dictionary) 基本操作

    Python字典是一种可变容器模型,可存储任意类型对象:如字符串.数字.元组等.它以键值对(key-value)的形式存在,因此相当于Hashmap在python中的实现. §1. 创建字典  字典由 ...

  3. Python字典和集合

    Python字典操作与遍历: 1.http://www.cnblogs.com/rubylouvre/archive/2011/06/19/2084739.html 2.http://5iqiong. ...

  4. python 字典排序 关于sort()、reversed()、sorted()

    一.Python的排序 1.reversed() 这个很好理解,reversed英文意思就是:adj. 颠倒的:相反的:(判决等)撤销的 print list(reversed(['dream','a ...

  5. python字典中的元素类型

    python字典默认的是string item={"browser " : 'webdriver.irefox()', 'url' : 'http://xxx.com'} 如果这样 ...

  6. python字典copy()方法

    python 字典的copy()方法表面看就是深copy啊,明显独立 d = {'a':1, 'b':2} c = d.copy() print('d=%s c=%s' % (d, c)) Code1 ...

  7. python 字典实现类似c的switch case

    #python 字典实现类似c的switch def print_hi(): print('hi') def print_hello(): print('hello') def print_goodb ...

  8. python字典的常用操作方法

    Python字典是另一种可变容器模型(无序),且可存储任意类型对象,如字符串.数字.元组等其他容器模型.本文章主要介绍Python中字典(Dict)的详解操作方法,包含创建.访问.删除.其它操作等,需 ...

  9. Python 字典(Dictionary)操作详解

    Python 字典(Dictionary)的详细操作方法. Python字典是另一种可变容器模型,且可存储任意类型对象,如字符串.数字.元组等其他容器模型. 一.创建字典 字典由键和对应值成对组成.字 ...

  10. Python 字典(Dictionary) get()方法

    描述 Python 字典(Dictionary) get() 函数返回指定键的值,如果值不在字典中返回默认值. 语法 get()方法语法: dict.get(key, default=None) 参数 ...

随机推荐

  1. pytorch seq2seq闲聊机器人beam search返回结果

    decoder.py """ 实现解码器 """ import heapq import torch.nn as nn import con ...

  2. python学习笔记(二)---for循环与操作列表

    内容概要 for循环 range(start,end,step)函数 生成随机数列表 list()函数 将range()的结果整合到某个列表 列表的操作 切片(start: end :step) 元组 ...

  3. php中&&和and有什么区别

    PHP中的逻辑“与”运算有两种形式:AND 和 &&,同样“或”运算也有OR和||两种形式. 如果是单独两个表达式参加的运算,两种形式的结果完全相同,例如 $a AND $b和$a & ...

  4. Github第三方登录

    笔者第一次写网站只写了接收参数以及登录页面就兴奋了一整天,还特意地加上了第三方登录,想起当时的情景还历历在目.之前是照着被人的博客一步步完成第三方登录的功能,现在就要自己来理解完成了 1. OAuth ...

  5. 运用jieba库统计词频及制作词云

    一.对中国十九大报告做词频分析 import jieba txt = open("中国十九大报告.txt.txt","r",encoding="utf ...

  6. 工程师泄露5G核心技术文档 被判有期徒刑三年缓刑四年

    2002 年至 2017 年 1 月,黄某瑜就职于中兴通讯公司,担任过射频工程师.无线架构师等职务.2008 年 4 月至 2016 年 10 月,王某就职于中兴通讯公司西安研究所,担任过 RRU 部 ...

  7. 利用requests, beautifulsoup包爬取股票信息网站

    这是第一次用requests, beautifulsoup实现爬虫,此次爬取的是一个股票信息网站:http://www.gupiaozhishi.net.cn. 实现非常简单,只是为了demo使用的数 ...

  8. 如何把字符串数组从 Swift 传递给 C

    作者:Natasha The Robot,原文链接,原文日期:2016-10-27译者:BigbigChai:校对:walkingway:定稿:CMB Swift 允许我们将原生的字符串直接传递给一个 ...

  9. vue elementui table 双击单元格实现编辑,聚焦,失去焦点,显示隐藏input和span

    <el-table :data="tableData" class="tb-edit" style="width: 100%" ref ...

  10. centos 7.0运行docker出现内核报错解决方法

    目前我这里docker是运行在centos 7.0系统里,使用1.5版本docker,最近一台服务器总是不定期死机,通过查看日志发现属于内核bug导致,报错信息如下 1 2 3 4 5 6 7 8 9 ...