当前位置: 首页 > news >正文

python入门 之 字典(六)

环境: window7 python 2.7 Visual Code


简介

字典是一种可变的容器模型,由 key:value 键值对构成,键值之间使用:分割;每对之间用逗号,分隔。数据用 { } 表示:

_map = {
    'score':1, 
    'name':'Wang',
    'language':'China',
    'age': 20,
}

字典数据是没有顺序的,因此我们不可以使用列表中的切片。虽然如此,但是我们可以通过任意 key 获取,修改,添加 value。比如:

_map = {
    'score':1, 
    'age': 20,
}
# 获取元素
print(_map['score'])         # 1

# 修改元素
_map['score'] = 100
print(_map)                 # {'age': 20, 'score': 100}

# 添加元素,创建一个新的key即可
_map['new'] = 'new'
print(_map)                 # {'new': 'new', 'age': 20, 'score': 100}

# 删除元素, 添加指定的key即可
del _map['new']
print(_map)                 # {'age': 20, 'score': 100}

注意:

# 若key重复出现,则会被覆盖
_map = {
    'score':1, 
    'age': 20,
    'score':100
}
print(_map)         # {'age': 20, 'score': 100}

遍历

在字典遍历中,python提供了三个方法:keys() , values(), items() 它们分别可获取:键对,值对,键值对

# 为了节省篇幅,结果均未分行显示
_map = {
    'score':1, 
    'age': 20,
    'name': 'Python',
}
# 普通遍历, 仅会获取到key
for i in _map:
    print(i)
    # 通过key获取value
    print(_map[i])

print('\n')
# 仅获取key
for key in _map.keys():
    print(key)              # age score name

print('\n')
# 仅获取value
for value in _map.values():
    print(value)            # 20 1 Python 

print('\n')
# 获取key,value,返回的item是包含key-value的元组
for item in _map.items():
    print(item)             # ('age', 20) ('score', 1) ('name', 'Python')

查找键值

_map = {
    'score':1, 
    'age': 20,
    'name': 'Python',
}

# 使用 in 查找某键是否在字典中
print('age' in _map)                # True
print('score' in _map.keys())       # True
print('Score' in _map.keys())       # False

# 使用 in 查找某值是否在字典中
print(1 in _map.values())           # True
print('py' in _map.values())        # False

# 使用get(key, default),它有两个参数: 1. 指定的键 2.若键不存在,则返回默认的default值
print(_map.get('score', 0))         # 1 键值存在,返回value
print(_map.get('SCORE', 100))       # 100 键值不存在,返回default value 

setdefault(key, default=None)与get方法有相似之处,若无对应的key将获取默认值,但是后者会将key放到map中,并将default设置为value。比如:

_map = {
    'score':1, 
    'age': 20,
}

# 字典中没有key,将key-value添加到了字典中
value = _map.setdefault('name', 'python')
print(value)            # python 返回的value值
print(_map)             # {'age': 20, 'score': 1, 'name': 'python'}

value = _map.setdefault('name', 'lua')
print(value)            # python 返回的value值,注意不是lua
print(_map)             # {'age': 20, 'score': 1, 'name': 'python'}

示例:使用setdefault获取指定字符串中每个字符出现的次数:

import pprint

_map = {}
message = 'This is Python, stduy hard'
for char in message:
    # 若key不存在,则key放置到map中,且value为0
    _map.setdefault(char, 0)
    # 记录每个字符的出现次数
    _map[char] += 1

pprint.pprint(_map)

'''
{' ': 4,
 ',': 1,
 'P': 1,
 'T': 1,
 'a': 1,
 'd': 2,
 'h': 3,
 'i': 2,
 'n': 1,
 'o': 1,
 'r': 1,
 's': 3,
 't': 2,
 'u': 1,
 'y': 2}
 '''

End

相关文章:

  • 通过python编写自定义尺寸和位置批量进行图像剪裁
  • 开发人员对需求的正确打开方式
  • SQLSERVER 快照隔离级别 到底怎么理解?
  • 《SQL基础》09. 事务
  • 设计模式-第1章(简单工厂模式)
  • springboot,vue教务管理系统
  • 5.6 频率响应与阶跃响应
  • Next.js 中的 SEO
  • 初识Linux基础工具之yum vim gcc gdb git以及简单makefile文件的编写
  • Traffic Signs Recognition with 95% Accuracy using CNNKeras
  • axios中params和data的区别
  • 【QT】C++和QML使用多线程优化界面切换卡顿的方法
  • kob后端1
  • Kotlin~工厂方法、抽象工厂模式
  • C++继承(下)
  • PKI证书签发系统(2.0web版)
  • Ubuntu20.4下安装TensorFlow2.x
  • 【项目部署】Python Django部署到阿里云
  • MySQL数据库索引并没有你想的那么难之第一节
  • 数据结构与算法-单链表
  • 电加热油锅炉工作原理_电加热导油
  • 大型电蒸汽锅炉_工业电阻炉
  • 燃气蒸汽锅炉的分类_大连生物质蒸汽锅炉
  • 天津市维修锅炉_锅炉汽化处理方法
  • 蒸汽汽锅炉厂家_延安锅炉厂家
  • 山西热水锅炉厂家_酒店热水 锅炉
  • 蒸汽锅炉生产厂家_燃油蒸汽发生器
  • 燃煤锅炉烧热水_张家口 淘汰取缔燃煤锅炉
  • 生物质锅炉_炉
  • 锅炉天然气_天燃气热风炉