美文网首页
python基础4-字典

python基础4-字典

作者: 牧_青 | 来源:发表于2023-05-06 11:54 被阅读0次
alien_0 = {'color': 'green', 'points': 5}

print(alien_0['color'])
print(alien_0['points'])

1使用字典

字典是一系列 key-value对,每个键都与一个值相关联,Key-value对是两个相关联的值。

key和value之间用冒号分隔,key-value之间用逗号分隔,在字典中,存储多少个key-value对都行。

alien_0 = {'color': 'green'}

1.2、访问字典中的值

alien_0 = {'color': 'green', 'points': 5}
print(alien_0['color'])

new_points = alien_0['points']
print("You just earned " + str(new_points) + " points!")

1.3、添加键-值对

字典是一种动态结构,可随时在其中添加键-值对。

key-value对的排列顺序与添加顺序不同,python不关心键-值对的添加顺序,而只关心键和值之间的关联关系。

alien_0 = {'color': 'green', 'point': 5}
print(alien_0)

alien_0['x_position'] = 0
alien_0['y_position'] = 25
print(alien_0)

1.4、创建空字典

可以直接使用一对空花括号定义一个空字典,然后根据需要再添加键值对

alien_0 = {}

alien_0['color'] = 'green'
alien_0['point'] = 5

print(alien_0)

1.5、修改字典中的值

alien_0 = {'color': 'green'}
print(alien_0['color'])

alien_0['color'] = 'yellow'
print(alien_0['color'])

1.6、删除键值对

对于字典中不再需要的信息,可以使用del语句将相应的键值对彻底删除

alien_0 = {'color': 'green', 'point': 5}
print(alien_0)

del alien_0['points']
print(alien_0)

1.7、由类似对象组成的字典

可以使用字典来存储众多对象的同一信息

favorite_languages = {
  'jen': 'python',
  'sarah': 'c',
  'edward': 'ruby',
  'phil': 'python',
    }

print("sarah`s favorite language is " + favorite_languages['sarah'].title() + ".")

2、遍历字典

2.1、遍历所有的键值对

遍历字典时,键-值对的返回顺序也与存储顺序不同。

user_0 = {
  'usrname': 'efermi',
  'first': 'enrico',
  'last': 'fermi',
}

for key, value in user_0.item():
  print("\nKey: " + key)
  print("Value: " + value)

2.2、遍历所有的键

遍历字典时,会默认遍历所有的键,所以可以加.keys(),也可以不加

favorite_languages = {
  'jen': 'python',
  'sarah': 'c',
  'edward': 'ruby',
  'phil': 'python',
}

firends = ['phil', 'sarah']
for name in favorite_languages.keys():
  print(name.title())
  if name in friends:
    print(" Hi " + name.title() + ", I see your favorite language is " + favorite_languages[name].title() + "!")

还可以使用关键字in, not in确定某个Key是否在字典中

Keys()并非只能用于遍历,实际上,它返回了一个列表,其中包含字典中所有键。

favorite_languages = {
  'jen': 'python',
  'sarah': 'c',
  'edward': 'ruby',
  'phil': 'python',
}

if 'erin' not in favorite_languages.keys():
  print("Erin, please take our poll!")

2.3、按顺序遍历字典中的所有键

获取字典元素时,获取顺序是不可预测的。

要以特定顺序返回元素,可以在for循环中对返回的键进行排序

for name in sorted(favorited_languages.keys()):
  print(name.title() + ", thank you for taking the poll.")

2.4、遍历字典中所有值

2.4.1、基本方法

获取字典中包含的值,可使用方法values(),它返回一个值列表,而不包含任何键。

for language in favorite_languages.values():
    print(language.title())

2.4.2、去除重复值

基本方法中没有考虑值重复的问题,如果要剔除重复值,可使用集合set。集合类似于列表,但是每个元素都必须独一无二。

set()方法可以让python找出列表中独一无二的元素,并使用这些元素来创建一个集合

for language in set(favorite_languages.values()):
  print(language.title())

3、嵌套

3.1、字典列表

可以创建一个字典列表,列表中的每个元素都是一个字典

alien_0 = {'color': 'red', 'points': 5}
alien_1 = {'color': 'green', 'points': 10}
alien_2 = {'color': 'yellow', 'points': 15}

aliens = [alien_0, alien_1, alien_2]

for alien in aliens:
  print(alien)

使用range()自动生成多个字典对象

aliens = []

for alien_number in range(30):
  new_alien = {'color': 'green', 'points': 5, 'speed': 'slow'}
  aliens.append(new_alien)
  
for alien in aliens[:5]:
  print(alien)
  
print("/nTotal number of aliens: " + str(len(aliens)))

3.2、在字典中存储列表

favorite_languages = {
  'jen': ['python', 'ruby'],
  'sarah': ['c'],
  'edward': ['ruby', 'go'],
  'phil': ['python', 'haskell'],
}

for name, languages in favorite_languages.items():
  print("\n" + name.title() + "'s favorite languages are: ")
  for language in languages:
    print(lanuage)

3.3、在字典中存储字典

users = {
  'aeinstein': {
    'first': 'albert',
    'last': 'einstein',
    'location': 'princeton',
  },
  'mcurie': {
    'first': 'marie',
    'last': 'curie',
    'location': 'paris',
  },
}

for username, user_info in users.items():
  print("\nUsername: " + username)
  full_name = user_info['first'] + " " + user_info['last']
  location = user_info['location']
    print("\tFull name: " + full_name.title())
  print("\tLocation: " + location.title())

相关文章

  • Python-01基础-11基础知识

    Python 基础知识 tags: Python 基础 2019 年 10 月 内容说明: 变量 列表/元组 字典...

  • 基础·数据容器·字典

    Python基础教程 字典==================== 字典对应其它语言中的Map,概念并不难以理解。...

  • Python 有序字典(OrderedDict)与 普通字典(d

    Python 的基础数据类型中的字典类型分为:无序字典 与 有序字典 两种类型 1.无序字典(普通字典): 输出:...

  • Python 有序字典(OrderedDict)与 普通字典(d

    Python 的基础数据类型中的字典类型分为:无序字典 与 有序字典 两种类型 1.无序字典(普通字典): 输出:...

  • python基础—字典

    节目清单 字典是python中最重要的数据类型,字典由“键-值”对组成的集合,字典中的“值”通过“键”来引用。这里...

  • python基础-字典

    1. 定义 字典是另一种可变对象,类似于我们生活中使用的字典,它可以存储任意类型对象,与列表不同的是,字典的每个元...

  • python 基础 - 字典

    Python 字典 字典是另一种可变容器模型,且可存储任意类型对象。字典的每个键值(key=>value)对用冒号...

  • python基础●字典

    字典: #格式:以键值对的形式保存,再用大括号包裹(冒号前的数为 “键”,冒号后的数为对应的“值”)info = ...

  • Python基础--字典

    字典等同于Java中的容器。与JavaScript中的Json对象更相似。由键值对组成,key和value用冒号:...

  • 基础·数据容器·列表&元组

    Python基础教程 类型 数据集合包括:列表,元组,字典 列表=========================...

网友评论

      本文标题:python基础4-字典

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