Python 字典的用法——6

#!/usr/bin/env python
#-- coding:utf-8 --

#字典

#1.简单的字典

alien_0 = {'color': 'green', 'points': 5}   # 字典是大括号,列表是中括号
print(alien_0['color'])
print(alien_0['points'])

#2.访问字典的值

alien_0 = {'color': 'green', 'points': 5}
v = alien_0['points']
print('your scores add ' + str(v) + '!')

#3.添加元素

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

#4.创建空字典

alien_1 = {}
alien_1['color'] = 'yellow'
alien_1['point'] = 10
print(alien_1)

#5.改变字典的值

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

#5.2 小例子

alien_0 = {'color': 'green', 'points': 5, 'x_position': 25, 'y_position': 0, 'speed': 'medium'}
if alien_0['speed'] == 'slow':
    move = 1
elif alien_0['speed'] == 'medium':
    move = 2
else:
    move = 3
alien_0['x_position'] += move
alien_0['y_position'] += move
print(move, alien_0['x_position'], alien_0['x_position'])

#6.删除字典中元素

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

#7.由类似对象组成的字典

favorite_language = {
    'Max': 'c',
    'Ldong': 'python',
    'Mini': 'java',
    }
print("Max's favorite language is " +
      favorite_language['Mini'].title() +
      '.')

#7.2 例子

lover = {
    'lastname': 'jingjing',
    'firstname': 'liu',
    'sex': 'female',
    'city': 'wuhan',
    'age': 18,
    }
print(lover)

#8.遍历字典的 键和值

lover = {
    'lastname': 'jingjing',
    'firstname': 'liu',
    'sex': 'female',
    'city': 'wuhan',
    'size': 18,
    'age': 18,
    }

#遍历键和值 使用方法items()

for attribute, detail in lover.items():     # for里声明两个变量;方法items()返回 键和值
    # print(" key: ", attribute.title(), "\n", "value: ", detail, "\n")
    print("key: ", attribute)
    print("value: ", detail, "\n")

#只遍历键

for attribute in lover.keys():
    print(attribute.title())

#只遍历键 方法keys()可以省略

for attribute in lover:
    print(attribute.title())

#遍历键并排序 用sorted()

for attribute in sorted(lover.keys()):
    print(attribute.title())

#只遍历值

for detail in lover.values():
    print(detail)

#只遍历值,并剔除重复项,使用方法set()

for detail in set(lover.values()):
    print(detail)

#9.字典列表:是一个列表,列表里的元素都是字典

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)

#10. 建立30个字典的列表

aliens = []
for alien_num in range(30):     # alien_nums是0~29
    new_alien = {'color': 'green', 'points': 5, 'speed': 'slow'}    # 字典
    aliens.append(new_alien)    # 将new_alien加入到列表aliens的最后

for alien in aliens[0:5]:       # 打印列表的前5个元素
    print(alien)

print(len(aliens))  # 打印列表的长度

#11.建立30个字典的列表,并将前3个的颜色和速度改掉

aliens = []
for alien_num in range(30):     # alien_nums是0~29
    new_alien = {'color': 'green', 'points': 5, 'speed': 'slow'}    # 字典
    aliens.append(new_alien)    # 将new_alien加入到列表aliens的最后

for alien in aliens[0:3]:
    if alien['color'] == 'green':   # 将绿色外星人改为黄色
        alien['color'] = 'yellow'
        alien['speed'] = 'medium'
        alien['points'] = 10
    elif alien['color'] == 'yellow':   # 将黄色外星人改为红色
        alien['color'] = 'red'
        alien['speed'] = 'fast'
        alien['points'] = 15

for alien in aliens[0:5]:       # 打印列表的前5个元素
    print(alien)

#12.在字典中储存列表

alien_0 = {'color': 'green',
           'points': 5,
           'sub': ['1', '2', '3'],    # 在值里面存列表
           }

print("alien_0's color is ", alien_0['color'])
print("alien_0's sub is ", alien_0['sub'])

#13.在字典中储存字典

alien_0 = {
           'name': {'ChineseName': 'Liu', 'EnglishName': 'Max'},    # 在值里面存字典
           'city': {'ChineseName': 'xiaogan', 'EnglishName': 'Beijing'},
           }
print('alien_0 name is ', alien_0['name'])
print('alien_0 city is ', alien_0['city'], '\n')

for name_attribute, name_detail in alien_0.items():     # 注意:每个字典元素的字典的键要一样,才可以循环打印
    print(name_attribute)
    chinese_name = name_detail['ChineseName']
    english_name = name_detail['EnglishName']
    print(chinese_name, english_name, '\n')
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wolves_liu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值