【0基础python笔记】4.字典

4.字典

使用字典

基本操作
# 创建字典
alien_0 = {'color': 'red', 'points': 5}
# 使用值
print(alien_0['color'])  # red
# 访问值
new_point = alien_0['points']
print(f'you have {new_point} points')  # you have 5 points
# 添加键值对
alien_0['x_position'] = 0
alien_0['y_position'] = 25
print(alien_0)  # {'color': 'red', 'points': 5, 'x_position': 0, 'y_position': 25}
# 修改值
new_color = alien_0['color'] = 'yellow'
print(f'the color is {new_color} now!')  # the color is yellow now!
# 删除键值对
del alien_0['points']
print(alien_0)  # {'color': 'yellow', 'x_position': 0, 'y_position': 25}
进阶操作
# 类似对象组成的字典
favorite_languages = {
    'zhang_san': 'C',
    'li_si': 'java',
    'wang_wu': 'python',
    'liu_liu': 'C++',
}
like = favorite_languages['li_si']
print(f'li_si like {like}')  # li_si like java
# 使用get()来访问不存在的值
xiao_zhao = favorite_languages.get('xiao_zhao', 'the students is not in it')
print(xiao_zhao)  # the students is not in it

遍历字典

favorite_languages = {
    'zhang_san': 'C',
    'li_si': 'java',
    'wang_wu': 'python',
    'liu_liu': 'C',
}

xiao_zhao = favorite_languages.get('xiao_zhao', 'the students is not in it')
# 遍历所有键值对
for name, languages in favorite_languages.items():
    print(f'{name.title()} like:{languages}\n')

# 遍历所有键
for name in favorite_languages.keys():
    print(name.title())
# 特定顺序遍历所有键 sorted()
for name in sorted(favorite_languages.keys()):
    print(name.title())

# 遍历所有值
for languages in favorite_languages.values():
    print(languages.title())
# 剔除重复项 set()
for languages in set(favorite_languages.values()):
    print(languages)

# 关联值 列表[]
friends = ['zhang_san', 'li_si']
for name in favorite_languages.keys():
    print(name.title())
    if name in friends:
        languages = favorite_languages[name].title()
        print(f'\t{name.title()} like {languages}')

嵌套

字典列表
# 字典列表
aliens = []
# 创建20个红色外星人
for aliens_num in range(20):
    alien = {'color': 'red', 'points': '21', 'speed': 'slow'}
    aliens.append(alien)
# 显示前5个外星人
for i in aliens[:5]:
    print(i)
# 显示一共创建了几个外星人
print(f'total number of aliens: {len(aliens)}')
# 修改前三个外星人
for alien in aliens[:2]:
    if alien['color'] == 'red':
        alien['color'] = 'yellow'
        alien['speed'] = '100'
for i in aliens[:4]:
    print(i)
在字典中存储列表
dog = {
    'age': 20,
    'color': ['white', 'black']
}
for i in dog['color']:
    print(i)
在字典中存储字典
users = {
    'zhang_san': {
        'first': 'san',
        'last': 'zhang',
        'language': 'python'
    },
    'li_si': {
        'first': 'si',
        'last': 'li',
        'language': 'java'
    }
}
for i, j in users.items():
    full_name = f"{j['last'].title()} {j['first'].title()}"
    print(full_name)  # Zhang San \n Li Si

while循环处理列表和字典

列表间移动元素
un_eat_fruits = ['apple', 'patch', 'orange', 'watermelon']
eat_fruits = []
while un_eat_fruits:
    current_eat_fruits = un_eat_fruits.pop()  # 暂时删除正在吃的
    # print(f'{current_eat_fruits}')#正在吃的
    eat_fruits.append(current_eat_fruits)  # 吃完的加上刚吃的
print(f'{un_eat_fruits}')  # []
print(f'{eat_fruits}')  # ['watermelon', 'orange', 'patch', 'apple']
使用用户输入填充字典 sql[name] = language
sql = {}
continue_ask = True
while continue_ask:
    name = input(f'what is your name?  or  "n" to end.\n')
    if name == 'n':
        continue_ask = False
        break
    language = input(f'what language do you like?\n')
    sql[name] = language  #**********
print(sql)  # {'yang': 'chinese', 'wang': 'math'}
for name, language in sql.items():
    print(f'{name} like {language}!')
    # yang like chinese!
    # wang like math!

参考文献:《Python编程——从入门到实践(第二版)》

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值