本文共 5822 字,大约阅读时间需要 19 分钟。
list.py
#定义 list集合: 方法1bob=['bob,smith', 23, 30000, 'software']sue=['sue,jones', 34, 40000, 'hardware']people=[bob,sue]#定义 list集合: 方法2names= ["name", "age", "pay", "job"]values1=["bob smith", 42, 30000, "software"]values2=["sue jones", 34, 4000, 'hardware']kvlist1=list( zip(names,values1) )#[('name', 'bob smith'), ('age', 42), ('pay', 30000), ('job', 'software')]print(kvlist1[0][1]) #bob smithkvlist2=list( zip(names,values2) )#[('name', 'sue jones'), ('age', 34), ('pay', 40000), ('job', 'hardware')]print(kvlist2[0][1]) #sue jones#取出值name1=bob[0].split(',')[-1]print("bob last name is ",name1) #bob last name is smithage= (sue[1]*2 )print("sue age is",age)#sue age is 68#从大集合中取出值bobname=people[0][0] #bob,smithprint(bobname)#遍历集合for per in people: print(per[0],",", per[1],",", per[2]) # bob,smith , 23 , 30000 sue,jones , 34 , 40000for per in people: per[1]*=2for per in people: print(per[1])# (23, 34) ==> 46, 68pays=[per[2] for per in people ]print(pays)# [30000,40000]print("--pay 的总和 ", sum( pays)) #70000pays=map( (lambda x: x[2]) , people)print( pays ) #
map.py
#定义字典:方法1bob={"name":"bob smith", "age":42, "pay":30000, "job":"dev"}sue={"name":"sue jones", "age":32, "pay":50000, "job":"hdw"}#定义字典:方法2bob=dict(name="bob smith", age=42, pay=3000, job="dev")sue=dict(name="sue jones", age=32, pay=50000, job="hdw")#定义字典:方法3bob={}bob["name"]="bob smith"bob["age"]=42bob["pay"]="dev"#定义字典:f\方法4fields=("name", "age", "job", "pay")record=dict.fromkeys(fields, "?")print(record)#{'name': '?', 'age': '?', 'job': '?', 'pay': '?'}#定义字典:方法4names=["name","age", "pay", "job"]values=["bob smith", 42, 30000, "dev"]kvmap=dict(zip ( names, values)) #{'name': 'bob smith', 'age': 42, 'pay': 30000, 'job': 'dev'}print(kvmap["name"])#bob smith#取出字典的值:方法1print(bob["name"], ",", bob['age']) #bob smith 42print(bob["name"]) #bob smithprint(bob["name"].split()[-1]) #smithprint(sue["pay"]) # 5000#取出字典的值: 方法2msg1="name=>%s, age=%s"%(dict["name"], bob["age"])msg2="name=>%(name)s, age=>%(age)s"%bobmsg3="name=>{name}, age={age}".format(**bob)print(msg1)#name=>lisi, age=>32print(msg2)#name=>lisi, age=>32print(msg3)#name=>lisi, age=>32# map中嵌套listbob={ "name":{"first":"bob", "last":"smith"}, "age":32, "job":["software","writing"], "pay":[40000, 50000]}print(bob["name"]["first"]) #bobprint(bob["pay"][1])#50000for job in bob["job"]: print(job) #software writingbob["job"].append("hardware")for job in bob["job"]: print(job) #software writing hardware#map 嵌套mappeople={}people["bob"]=bobpeople["sue"]=suefor value in people.values():#{'name': {'first': 'bob', 'last': 'smith'}, 'age': 32, 'job': ['software', 'writing', 'hardware'], 'pay': [40000, 50000]} #{'name': 'sue jones', 'age': 32, 'pay': 50000, 'job': 'hdw'} for key in value.keys(): print(key) #name, age, job, payfor key in people.keys(): print(key, people[key]) #sue {'name': 'sue jones', 'age': 32, 'pay': 50000, 'job': 'hdw'}for item in people.items(): print(item) #('sue', {'name': 'sue jones', 'age': 32, 'pay': 50000, 'job': 'hdw'})
list_map.py
#mapbob={"name":"bob jones", "age":32, "pay":30000, "job":"dev"}sue={"name":"sue smith", "age":42, "pay":40000, "job":"dev"}#listpeople=[bob, sue]db={"bob":bob, "sue":sue}#遍历for per in people: print(per["name"], per["age"], per["pay"], sep=", ") #bob jones, 32, 30000 sue smith, 42, 40000for per in people: if per["name"]=="bob jones": print(per["pay"]) # 3000names=[ per["name"] for per in people ]print(names)#['bob jones', 'sue smith']res=map( ( lambda x:x["name"]), people)print(list(res))#['bob jones', 'sue smith']sumpay=sum( per["pay"] for per in people)print(sumpay)# 70000names=[per["name"] for per in people if per["age"] >40 ]print(names) #['sue smith']names2=(per["name"] for per in people if per["age"]> 40 )print(next(names2)) #sue smithpays=[ (per["pay"]*2 if per["age"]> 40 else per["pay"] ) for per in people ]print(pays) #[30000, 80000]
read_write.py
fileName="py-db.txt"#保存数据def save(db, fileName=fileName): output = open(fileName, "w")# w, r for per in db: print(per, file=output) for(name, value) in db[per].items(): print(name,value, sep=",",file=output) print("kv-over",file=output) print("db-over",file=output) output.close()def read(fileName=fileName): inputstr=open(fileName) import sys sys.stdin=inputstr key=input() print(key) while(key != "db-over"): field=input() while field != "kv-over": name, value= field.split(",") print("读入的数据=> ",name, value) field=input() key = input() print(key)def read2(fileName=fileName): inputstr=open(fileName) import sys sys.stdin=inputstr db={} key=input() while(key != "db-over"): person={} field=input() while field != "kv-over": name, value= field.split(",") person[name]=value field=input() db[key]=person key = input() print("db==== " , db) return dbif __name__== "__main__": #from chapter1.res.list_map import db # save(db) read2()
转载地址:http://bxdef.baihongyu.com/