bob=['bob smith',30,30000,'software']
sue=['sue jones',45,40000,'hdware']
print(bob)
print(sue)
worker=[bob,sue]
for person in worker:
    print(person[0].split()[-1]) #获取记录的姓氏
    person[2]*=1.2 #工资涨幅1.2倍
print(worker[0][1]) #获得bob的年纪 第一条记录的索引为0
pays=[person[2] for person in worker] #迭代收集pay
print (pays)
pays=map((lambda x:x[2]),worker)
payssum=sum(pays) #工资总和
print(payssum)
worker.append(['tom smith',30,0,None])
print(worker)

第一天学习,发现python代码简介,易读。

使用list时,访问字段需要我们记住所在的位置,我们可以将字段与索引对应起来。例如

name,age,pay,work =range(4)

我们可以这样访问bob的姓名 年龄工资 及工作

bob[name]

bob[pay]

但这并没有记录和字段名的直接映射,我们在获取bob.index(30)得到的值是1,并不是age 无法对应起来

列表的列表

bob=[['name','bob smith'],['age',30],['pay',30000],['work','software']]

sue=[['name','sue jones'],['age',45],['pay',40000],['work','hdware']]

worker=[bob,sue]

for person in worker:

    for (name,value) in person:

        if name=='name':

            print(value)

我们可以定义一个函数来获得这个值

def file(record,label):

    for(fname,fvalue) in record:

        if fname==label:

            return fvalue

print(file(bob,'name')

print(file(sue,'pay')

for rec in worker:

    print(file(rec,'name') #打印worker中所有的人姓名