美文网首页
新2019计划:python学习-字典【4】

新2019计划:python学习-字典【4】

作者: 克里斯托弗的梦想 | 来源:发表于2019-02-15 23:21 被阅读0次

字典

本篇章讲述数据结构字典,主要围绕如何访问字典,如何修改字典,如何删除字典某元素,如何遍历字典,字典的常见方法get、update、setdefault、pop函数等,如何增加字典的key-value值,存储字典的列表,存储列表的字典,以及存储字典的字典等。

字典定义
python中字典是一系列键-值对,每个键对应一个值,键是唯一的,可以使用键获取对应的值,与键相关联的值可以是数字、字符串、列表乃至字典。

  • 简单的字典实例
alien = {'color': 'green', 'points': 5}
# 访问字典的元素
alien['color']
alien['points']
  • 访问字典中的值
alien =  {'color': 'green', 'points': 5}
new_points = alien['points']  # 如果这个键不存在会报错
print('You just earned ' + str(new_points) + ' points!')
# 另一种访问方式
alien.get('color')    # 如果键不存在,返回None
alien.get('good', 'zhiding')  # 如果键不存在,返回zhiding的元素
  • 添加键-值对
alien =  {'color': 'green', 'points': 5}
# 下面就是增加了键值对
alien['x_position'] = 0
alien['y_position'] = 25
# 创建空字典,然后增加键值对
alien = {}
alien['color'] = 'green'
alien['points'] = 60
  • 修改字典中的值
alien_0 = {'color': 'green'}
print("The alien is " + alien_0['color'] + ".")
# 直接修改就好, 其中实质意义:键存在就相当于修改,不存在就是新增新的键值对
alien_0['color'] = 'yellow'
print("The alien is now " + alien_0['color'] + ".")
#################
# 一个修改字典中值实例
alien_0 = {'x_position': 0, 'y_position': 25, 'speed': 'medium'} 
print("Original x-position: " + str(alien_0['x_position']))
if alien_0['speed'] == 'slow':
    x_increment = 1
elif  alien_0['speed'] == 'medium':
    x_increment = 2
else:
    x_increment = 3

alien_0['x_position'] = alien_0['x_position'] + x_increment
print("New x-position: " + str(alien_0['x_position']))

  • 删除键值对
    del alien_0['points']
    删除的键值对会永远消失

  • 遍历字典
    1、遍历字典的键和值
    for key, value in alien_0.items()
    2、遍历字典的键
    for key in alien_0.keys()
    3、按顺序遍历字典中的所有键
    for name in sorted(alien_0.keys())
    4、遍历字典的所有值
    for value in alien_0.values()
    5、遍历字典所有值(利用集合set去重遍历)
    for value in set(alien_0.values())

  • 判断指定的键是否存在字典中
    if 'good' in alien_0.keys()

  • 字典存储在列表

alien_0 = {'color': 'green', 'points': 5} 
alien_1 = {'color': 'yellow', 'points': 10} 
alien_2 = {'color': 'red', 'points': 15}
aliens = [alien_0, alien_1, alien_2]
for alien in aliens:
    print(alien)
###########
aliens = []
for alien_number in range(30):
    new_alien = {'color': 'green', 'points': 5, 'speed': 'slow'}
    aliens.append(new_alien)


  • 列表存在字典
pizza = {
    'crust': 'thick',
    'toppings': ['mushroom', 'extra pizza']
}

for topping in pizza['toppings']:     
    print("\t" + topping)

  • 字典存储在字典
users = {
 'aeinstein':
   {
    'first': 'albert', 'last': 'einstein', 'location': 'princeton',
   },

'mcurie':
   {
    'first': 'marie', 'last': 'curie', 'location': 'paris',
   },
 }

for username, user_info in users.items():
    print('\n Username: ' + username)
    full_name = user_info['first'] + ' ' + user_info['last'] 


  • 字典常见的方法,设字典变量为d。
    1、print(d['key']) 如果写了不存在的值会报错
    2、print(d.get('key')) 如果写了不存在的值,返回None
    3、print(d.get('key','not find ')) 如果找不到存在的值,返回 “not find”
    4、print(d.keys()) #获取所有的key值
    5、print(d.values()) #获取所有的value 值
    6、if 'key' in d: #判断key是否存在
    7、d['key'] = value key 存在即修改,key不存在即新增
    8、d.setdefault('key',value) 只能新增
    9、d.pop('key') 删除字典某元素,必须要传值,因为字典是无序的,会返回该键对应的值
    10、d.popitem() 随机删除一个, 返回一个元组,(键, 值)
    11、del d['key']
    12、d.clear() 清空字典
    13、len(d):计算字典元素个数,即键的总数。
    14、str(d):输出字典可打印的字符串。
    15、update 利用一个字典项更新另外一个字典,如d.update(f),那么d字典发生变化

最后,浅复制,深复制如下


image.png

相关文章

网友评论

      本文标题:新2019计划:python学习-字典【4】

      本文链接:https://www.haomeiwen.com/subject/vedveqtx.html