记录人员信息

使用List 记录人员信息

bob = ['Bob Smith',42,30000,'software']
sue = ['Sue Jones',45,50000,'hardware']

# 引用列表的列表
people = [bob,sue]
for person in people:
    print(person)
# 循环处理列表
for person in people:
    print(person[0].split()[-1])            # 打印姓氏
    person[2] *= 1.20                       # 涨20%薪水
# 检查新的薪水
for person in people:print(person[2])       # 检查新的薪酬
# 利用列表解析、map和生成器表达式来收集薪酬信息
pays = [person[2] for person in people]
print(pays)

pays = map((lambda x:x[2]),people)
print(list(pays))

print(sum(person[2] for person in people))

# 添加记录
people.append(['Tom',50,0,None])
print(len(people))

print(people[-1][0])


结果如下:
['Bob Smith', 42, 30000, 'software']
['Sue Jones', 45, 50000, 'hardware']
Smith
Jones
36000.0
60000.0
[36000.0, 60000.0]
[36000.0, 60000.0]
96000.0
3
Tom

# 使用列表主要缺点
# 1. Bob Sue 只是内存中暂时存储的对象,当python退出时会随之消失
# 2. 每次想要获取某人的姓或给某人加薪时,不得不重复刚才输入的代码。

使用Dict记录人员信息

bob = {'name':'Bob Smith','age':42,'pay':30000,'job':'dev'}
sue = {'name':'Sue Jones','age':45,'pay':40000,'jbo':'hdw'}

print(bob['name'],sue['pay'])

print(bob['name'].split()[-1])

sue['pay'] *= 1.10
print(sue['pay'])

结果如下:
Bob Smith 40000
Smith
44000.0

使用关键字创建字典
bob = dict(name='Bob Smith',age=42,pay=30000,job='dev')
sue = dict(name='Sue Jones',age=45,pay=40000,jbo='hdw')
print(bob)
print(sue)

结果如下:
{'name': 'Bob Smith', 'age': 42, 'pay': 30000, 'job': 'dev'}
{'name': 'Sue Jones', 'age': 45, 'pay': 40000, 'jbo': 'hdw'}

使用字典的字典对数据库进行最后一次改进

import pprint

bob = dict(name='Bob Smith',age=42,pay=30000,job='dev')
sue = dict(name='Sue Jones',age=45,pay=40000,jbo='hdw')

db = {}
db['bob'] = bob
db['sue'] = sue

print(db['bob']['name'])

pprint.pprint(db)

for key in db:
    print(key,'=>',db[key]['name'])

for key in db:
    print(key,'=>',db[key]['pay'])

for key in db:
    print(db[key]['name'].split()[-1])
    db[key]['pay'] *= 1.10

for recond in db.values(): print(recond['pay'])

x = [db[key]['name']for key in db]
print(x)

x = [rec['name'] for rec in db.values()]
print(x)

db['tom'] = dict(name='Tom',age=50,pay=0,jbo=None)
print(db['tom'])

print(list(db.keys()))

print(len(db))

print([rec['age'] for rec in db.values()])

print([rec['name'] for rec in db.values() if rec['age'] >= 45])

结果如下:
Bob Smith
{'bob': {'age': 42, 'job': 'dev', 'name': 'Bob Smith', 'pay': 30000},
 'sue': {'age': 45, 'jbo': 'hdw', 'name': 'Sue Jones', 'pay': 40000}}
bob => Bob Smith
sue => Sue Jones
bob => 30000
sue => 40000
Smith
Jones
33000.0
44000.0
['Bob Smith', 'Sue Jones']
['Bob Smith', 'Sue Jones']
{'name': 'Tom', 'age': 50, 'pay': 0, 'jbo': None}
['bob', 'sue', 'tom']
3
[42, 45, 50]
['Sue Jones', 'Tom']

猜你喜欢

转载自blog.csdn.net/weixin_42125267/article/details/81870119