从入门到实践读书笔记(四)

tag: python从零开始学习
种一棵树最好的时候,十年前或者今天

从入门到实践读书笔记(四)

第五章 字典

字典可以与链表相互嵌套存储,也可以存储字典
{}标识。是一种动态结构。

ant_0 = {'color':green, 'points':4}
print(ant_0['clolor'])
print(ant_0['points'])
# 添加键值对#键值对排列顺序与添加顺序不同
ant_0['x_pointion'] = 0
ant_0['y_pointion'] = 25

python中一系列键值对,每一个键都与一个值对应,与键对应的值可以是任何python中的对象。

修改、删除

删除,必须要指定字典名和要删除的键,是永久的。

# 修改
print()
ant_0['color'] = 'yellow'
print(ant_0)
# 删除,必须要指定字典名和要删除的键 # 永久的
del ant_0['points']
print(ant_0)
遍历字典

items方法返回一个键值对列表

for k,v in ant_0.items():
	print("\nKey: ")
	print(k)
	print("\nvalue: ")
	print(v)
遍历字典中所有的键

keys()方法返回一个列表

for name in ant_0.keys()
:	print(name.title())
# 或者
print()
for name in ant_0:
	print(name.title())
按顺序遍历字典

获取字典的元素时,其顺序是不可预测的
使用sorted()方法,可以将提取的键或者值按特定顺序排列
对于重复的值,可以使用set()方法,来创建一个由列表中独一无二的元素构成的集合。

like_names = {'happy': 'NT',
              'beautiful':'蒙娜丽莎',
                'hot': '法拉第',
              'height': 'NT'}
# 按顺序遍历字典中的键
for name in sorted(like_names.keys()):
    print(name.title())

# 按顺序遍历字典中的值
print()
for name in sorted(like_names.values()):
    print(name.title())

# 提取的值中去除重复项
print()
for name in set(like_names.values()):
    print(name.title())
嵌套

列表中嵌套字典

# 列表嵌套字典
alien_0 = {'color': 'green', 'points': 5}
alien_1 = {'color': 'blue', 'points': 5}
alien_2 = {'color': 'green', 'points': 5}
aliens = [alien_0, alien_1, alien_2]
for alien in aliens:
    print(alien)

# 创建12个外星人
for alien_number in range(12):
    new_alien = {'color': 'green', 'points': 5}
    aliens.append(alien)
# 显示前五个
for alien in aliens[:5]:
    print(alien)
print('---')
print("The sum: "+str(len(aliens)))

字典中嵌套列表

想要在字典中将一个键嵌套多个值时,可以在字典中嵌套一个列表

languages ={
            '机器语言':['机器码','指令集'],
            'c系': ['c', '汇编语言'],
            'JAVA': ['JAVA', 'JAVA ME', "EE", "SE"],
            "Web": ['HTML', "H5", "js"],
            'C++': ['C++','C#','python']
            }
# 此情况默认输出键
for name, language in languages.items():
    print(name.title())
    for lan in language:
        print('\t'+lan.title())

字典中嵌套字典

print("\n")
users = {
    'zhang2': {
        'F': '汇编语言',
        'last': 'c',
        'location': 'C++'
        },
    'wang2': {
        'F': 'c',
        'last': 'c++',
        'location': 'java'
        },
    'li4': {
        'F': 'c#',
        'last': 'c++',
        'location': 'python'
        }
    }
print("输出: ")
for user_name, user_info in users.items():
    print('names: '+user_name)
    for user_information in user_info:
        print("information: "+user_information.title())
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值