一、简单字典的书写

 字典实际上就类似于Java中的treeMap集合,就是一个个——值对所组成一组数据 。

1、书写格式

代码:

jacke_chen = {'age':45,'job':'alibaba','hobby':'brag'}
print(jacke_chen['age'])
print(jacke_chen['job'])
print(jacke_chen['hobby'])

结果:

45
alibaba
brag

注意:列表是用:[ ] ,元组是用:( ) , 字典是用:{ },但是他们单个元素的引用都是使用 [ ],

唯一不同的就是方括号里面的index_id的不同而已。

2、如何添加键——值对

代码:

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

输出结果:

{'color': 'green', 'points': 5}
{'color': 'green', 'points': 5, 'x_position': 0, 'y_position': 25}

 字典中添加键值对的方式不同于列表中添加元素的方式,列表中添加元素的格式是:cars.append()

3、键——值对的修改

代码:alien_0 = {'color': 'green'}
print("The alien is " + alien_0['color'] + ".")
alien_0['color'] = 'yellow'
print("The alien is now " + alien_0['color'] + ".")

结果:

The alien is green.
The alien is now yellow.

4、删除键— 值对

del alien_0['points']
print(alien_0)

 

结果:{'color': 'green'}
 

二、字典其他用法 

1、遍历字典

字典可用于以各种方式存储信息,因此有多种遍历字典的方式:可遍历字典的所有键—值对、键或值。

1.1、遍历所有键——值对

代码:

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

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

结果:

 

Key:username
Value:efermi

Key:first
Value:enrico

Key:last
Value:fermi

注意:①即便遍历字典时,键—值对的返回顺序也与存储顺序不同。 Python不关心键—值对的存
           储顺序,而只跟踪键和值之间的关联关系。

    ② 注意items()方法的使用。

    ③for循环中,key 和value都可以用其他的单词替代,并不影响结果的输出,但一定要记住,

    在遍历键值对时,前面是键(key后面是值(value)。

1.2、遍历所有键

for name in favorite_languages.keys():
        print(name.title())

注意:①keys()方法的使用。②遍历字典时,会默认遍历所有的键,因此,如果将上述代码中的

for name in favorite_languages.keys():替换为for name in favorite_languages:,输出将不变 。

1.3、按顺序遍历所有键(sorted()方法的使用)

 for name in sorted(favorite_languages.keys()):

          print(name.title() )

1.4、遍历字典中所有的值(注意,此处输出同样是乱序的)

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

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

结果:

Python
C
Python
Ruby

 遍历字典中所有非重复的值(set()方法的使用)

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

posted on 2018-07-02 14:58  Joker_王  阅读(112)  评论(0编辑  收藏  举报