Python日常学习

学习算法和数据结构之余开始接触python,目前正在学习语法部分,这篇blog记录下一些知识点和放一些文档 or 教程的传送门。


文档网站

Python 解释器内置函数

Python速成

from OI Wiki

Warnning:

①ambiguous variable name 'l'

l = ['Python', 'C++', 'Java']

VSC给出了ambiguous variable name 'l' 错误提醒,但很明显在语法不存在错误

在GitHub上找到相关的解释

img

意思是说应避免使用字符lOI来作为变量名,因为这些字符容易使人与数字10混淆......github原文地址
所以以后还是不要这样命名变量了!

学习记录:

1. Python 九九乘法表

# 九九乘法表
for i in range(1,10):
    for j in range(1,i + 1):
            # 通过指定end参数的值,可以取消在末尾输出回车符,实现不换行。
            print(f"{i}x{j}={i * j}",end = '\t')
            #另一种写法,f是格式处理
            #print('{}x{}={}\t'.format(j, i, i*j), end='')
    print()

输出结果:

1x1=1	
2x1=2	2x2=4	
3x1=3	3x2=6	3x3=9	
4x1=4	4x2=8	4x3=12	4x4=16	
5x1=5	5x2=10	5x3=15	5x4=20	5x5=25	
6x1=6	6x2=12	6x3=18	6x4=24	6x5=30	6x6=36	
7x1=7	7x2=14	7x3=21	7x4=28	7x5=35	7x6=42	7x7=49	
8x1=8	8x2=16	8x3=24	8x4=32	8x5=40	8x6=48	8x7=56	8x8=64	
9x1=9	9x2=18	9x3=27	9x4=36	9x5=45	9x6=54	9x7=63	9x8=72	9x9=81	

2. 京牌摇号⼩程序

需求:

  1. 允许⽤户最多选3次

  2. 每次放出20个⻋牌供⽤户选择

  3. 京[A-Z]-[xxxxx], 可以是数字和字⺟在组合

想实现这个程序 ,有2个问题要解决:

  	1. 如果实现输出随机 值 
            	2. 随机值需限定在⼤写字⺟,和数字范围内,不能有其它特殊字符。 

这就要⽤到⼀些超纲知识, random模块和string模块。 Python的模块库是个宝藏,想实现任何功能它都有现成的模块供你调⽤

2.1 random模块

可以产⽣指定范围内的随机数、字符串等

import random #导入random模块

ch = random.choice("abcdefghi") # 参数也可以是一个列表
print(ch) #打印随机一个参数中的值

s = "abcdefghijklmn"
cc = random.sample(s,3) #从数据源中随机取3个值
print(cc)

print(random.randint(1,100)) # 打印一个随机数

2.2 string模块

import string #导入string模块

str = string.ascii_letters
print(str)

str = string.ascii_uppercase  # ⼤写字⺟
print(str)

str = string.punctuation # 打印特殊字符
print(str)

str = string.digits # 打印数字
print(str)

2.3 ⼩程序代码实现

import random
import string

car_num_sample = string.digits + string.ascii_uppercase
print(random.sample(car_num_sample,5))

num_list = [] #生成车牌列表
for i in range(20):
    second_letter = random.choice(string.ascii_uppercase)
    car_num = f"京{second_letter}-{''.join(random.sample(car_num_sample, 5))}"
    num_list.append(car_num)
    print(i, car_num)

count = 3
while count > 0:
    count -= 1
    choice = input("choice:").strip()
    if(choice in num_list):
        exit(f"恭喜你选购成功,您的新⻋牌是{choice}")
    else:
        print(f"未选中, 还有{count}次机会")

3. 年会抽奖程序

张三科技有限公司有300员⼯,开年会抽奖,奖项如下:

⼀等奖 3名, 泰国5⽇游

⼆等奖6名, Iphone⼿机

三等奖30名,豪华食品套装

规则:

  	1. 共抽3次,第⼀次抽3等奖,第2次抽2等奖,第3次压轴抽1等奖 
            	2. 每个员⼯限中奖⼀次,不能重复

解题思路:

  1. ⽣成⼀个员⼯列表,⽤random模块从⾥⾯取随机值
  2. 取完值之后,⽴刻从员⼯⼤列表⾥把中奖⼈删掉,即可防⽌其再次中奖

程序实现

import random
import string

staff_list = [] #员工列表
num_sample = string.digits + string.ascii_uppercase

#统计员工列表
for i in range(300):
    staff_ID_ascii = random.choice(string.ascii_uppercase)
    staff_ID = f"ID_{staff_ID_ascii}-{''.join(random.sample(num_sample,5))}"
    staff_list.append(staff_ID)
    print(i + 1,staff_ID)

count = 300

print("\nFir_Prize:")
for i in range(3):
    index = random.randint(1,count + 1 - i)
    print(staff_list[index])
    staff_list.remove(staff_list[index])
count -= 3

print("\nSec_Prize:")
for i in range(6):
    index = random.randint(1,count + 1 - i)
    print(staff_list[index])
    staff_list.remove(staff_list[index])
count -= 6

print("\nThi_Prize:")
for i in range(30):
    index = random.randint(1,count + 1 - i)
    print(staff_list[index])
    staff_list.remove(staff_list[index])

学习Alex老师的写法:

# 1. 生成员工列表# 2. 循环3次,用random方法随机取值# 3. 中奖人要从员工列表t出去import randomnames = [f"staff--{i}" for i in range(1,301)]lottery_level = [30,6,3] #中奖等级count = 0while count < 3:    cmd = input(f"press any button to start 抽{3-count}等奖:")    winners = random.sample(names,lottery_level[count]) #中奖名单    print(winners)    for w in winners: names.remove(w) # step 3    count += 1

4. 作业练习:快递分拣⼩程序

4.1 需求

将数据源⾥的快递信息进⾏分拣,最终⽣成的数据格式如下:

{ "北京市":[ ['王*⻰', '北京市海淀区苏州街⼤恒科技⼤厦南座4层'], ['庞*⻜', '北京市昌平区汇德商厦四楼403'], .... ], "⼭东省":[ ['孙*云', '⼭东省济南市⼭东省济南市历下区祥泰汇东国际,⼀号楼3005室'], ['鞠*⻰', '⼭东省潍坊市⽟清街江⼭帝景B区12号楼⼀单元14楼'], ['张*', '⼭东省济南市兴港路三庆城市主⼈'] .... ], ... ....}

数据源如下:

[ ['王*⻰', '北京市海淀区苏州街⼤恒科技⼤厦南座4层'], ['庞*⻜', '北京市昌平区汇德商厦四楼403'], ['顾*锐', '江苏省扬州市三垛镇⼯业集中区扬州市⽴华畜禽有限公司'], ['王*⻜', '上海市徐汇区上海市徐汇区H88越虹⼴场B座5E'], ['华*升', '北京市海淀区杰睿⼤厦'], ['朱*锴', '上海市浦东新区川沙新镇华川家园33号楼503'], ['陈*盼', '浙江省杭州市闲林街道,⻄溪华东园,⼗幢⼀单元401。'], ['司*鹏', '河南省鹤壁市淇滨⼤道310号 鹤壁京⽴医院'], ['聂*睿', '河北省⽯家庄市中⼭路勒泰中⼼写字楼b座11层'], ['张*', '辽宁省本溪市明兴丽城九号楼四单元'], ['冉*晗', '河北省⽯家庄市体育南⼤街385号'], ['⾼*杰', '北京市朝阳区⼴渠路42号院3号楼,408'], ['李*国', '安徽省合肥市新站区淮合花园'], ['常*源', '江苏省南京市⽩下路242号,南京市红⼗字医院,放射科'], ['张*⽟', '河北省沧州市新居然家居⼴场'], ['王*川', '上海市奉贤区南桥镇 ⻉港七区'], ['冀*庆', '河北省保定市河北⼤学坤兴园⽣活区'], ['胡*晨', '浙江省宁波市浙江省宁波市江东区中⼭⾸府A座2004室'], ['尹*婷', '湖北省武汉市武汉⼤学信息学部'], ['李*东', '辽宁省⼤连市⼤关⼀街3号3-3-1'], ['张*', '天津市河⻄区隆昌路94号(天津科技馆)'], ['刘*', '湖北省⻩冈市城关镇'], ['阿*亚', '内蒙古呼和浩特市包头东接⺠望家园1区3号楼2单元1501'], ['孙*云', '⼭东省济南市⼭东省济南市历下区祥泰汇东国际,⼀号楼3005室'], ['曹*亮', '⿊⻰江省⼤庆市服务外包产业园D1'], ['侯*琦', '上海市⻓宁区⾦钟路凌空soho16号楼3楼'], ['郭*峰', '河南省商丘市⾼新技术开发区恒宇⻝品⼚'], ['赵*⽣', '河北省唐⼭市朝阳道与学院路路⼝融通⼤厦2408室'], ['张*', '陕⻄省咸阳市⽂汇东路6号⻄藏⺠族⼤学'], ['刘*⺠', '北京市⼤兴区南海家园四⾥7号楼1单元902'], ['郭*兰', '湖北省武汉市湖北省'], ['张*强', '河北省张家⼝市经开区钻⽯南路11号'], ['鞠*⻰', '⼭东省潍坊市⽟清街江⼭帝景B区12号楼⼀单元14楼'], ['李*', '北京市海淀区⻄⼆旗智学苑5号楼超市'], ['许*康', '北京市⻄城区⻄单北⼤街甲133号'], ['叶*⽣', '江苏省扬州市扬⼦江中路756号'], ['赵*兴', '北京市海淀区⻄⼆旗上地信息路1号⾦远⻅⼤楼华纬讯301'], ['徐*⾰', '北京市海淀区闵庄路3号102栋⼆层206'], ['徐*', '安徽省淮南市⾦荷⼩区(⾦格商场旁)'], ['雷*', '北京市朝阳区望京街道望京sohoT1C座1201'], ['庄*', '浙江省杭州市恒⽣电⼦⼤厦'], ['蔡*恩', '湖北省武汉市仁和路沙湖港湾B区1103'], ['陈*', '江苏省苏州市巴城镇湖滨北路193号⽜吃蟹庄'], ['⻩*', '北京市朝阳区霄云路26号鹏润⼤厦A座33层'], ['魏*⻜', '河北省⽯家庄市新⽯北路与红旗⼤街交⼝开元⼤厦502室'], ['张*', '⼭东省济南市兴港路三庆城市主⼈'], ['段*琪', '⼭⻄省临汾市福利路尧乡⼩区'], ['刘*', '北京市昌平区⻰禧三街骊⻰园601'], ['王*⽣', '上海市杨浦区邯郸路复旦⼤学遗传学楼319室'], ['王*君', '江苏省扬州市叶挺路318号建⾏营业部'], ['王*义', '北京市东城区环球贸易中⼼D座'], ['李*', '陕⻄省汉中市同沟寺镇晨光村⼆组'], ['裴*宇', '吉林省四平市岭⻄新耀豪庭7栋'], ['丁*', '⼭东省烟台市⼤季家镇芦洋村'], ['刘*铎', '⿊⻰江省佳⽊斯市⽕电⼩区桥头浴池附近惠惠⼲洗店'], ['樊*', '浙江省宁波市⽂苑⻛荷201-301'], ['陈*瑞', '安徽省宣城市安徽省宣城市宣州区薰化路301合肥⼯业⼤学宣城校区'], ['崔*峰', '浙江省台州市福溪街道始丰⻄路43号501室'], ['徐*', '湖北省武汉市三⾦雄楚天地1号楼1210'], ['王*', '浙江省宁波市浙江⼯商职业技术学院信息中⼼'], ['闫*', '上海市浦东新区蓝天路368弄1号301室'], ['于*泉', '吉林省四平市⾦星书苑⼩区8号楼5单元102室'], ['刘*萌', '河北省秦皇岛市抚宁镇交通局家属院3-2-201'], ['⽯*', '安徽省宣城市薰化路301'], ['王*雯', '⽢肃省兰州市天⽔南路222号兰州⼤学'], ['王*朝', '河南省郑州市嵩⼭南路政通路升⻰城六号院'], ['⾦*晶', '吉林省延边州延吉市新兴街⺠安委11'], ['蒋*彬', '辽宁省本溪市新城北岸,恒⼤绿洲'], ['⽜*鑫', '⿊⻰江省鸡⻄市南⼭路康光⼆号楼中雅发廊'], ['陈*宏', '⼭⻄省太原市太原理⼯⼤学'], ['刘*', '⼭⻄省运城市卿头镇'], ['陈*杰', '浙江省宁波市⾼新区研发园A5幢7楼多维时空科技有限公司'], ['郝**', '⼭东省德州市焦庙镇'], ['焦*', '⼭⻄省⻓治市太⾏⻄街⾦威超市太⻄店⾦威快购办公室'], ['李*旗', '北京市昌平区沙河镇汇德商厦4楼403⽼男孩教育'], ['通*⼤都', '北京市丰台区万泉寺东路9号院1栋1单1704'], ['孙*川', '浙江省⾦华市佛堂镇雅⻄村双溪⼝便⺠超市'], ['宋*', '安徽省合肥市上派镇滨河家园9栋2102'], ['李*', '陕⻄省安康市汉滨区新城街道南环东路⼝桃园⼩区⼤⻔⼝'], ['李*连', '北京市昌平区⽴汤路北七家威尼斯花园2区2-3'], ['籍*旭', '北京市房⼭区良乡鸿顺园⻄区20号楼3单元601'], ['韩*嵩', '北京市昌平区⽴汤路威尼斯花园2区2-3'], ['曹*', '北京市朝阳区东三环北路28号博瑞⼤厦B座'], ['贺*', '上海市徐汇区古美路1515号19号楼1101室'], ['关*轩', '⼭⻄省⻓治市⽯哲镇'], ['罗*', '河北省廊坊市书⾹苑⼩区四号楼'], ['段**', '北京市朝阳区酒仙桥东路M5世纪互联'], ['杜*伟', '北京市昌平区汇德商厦⽼男孩教育'], ['王*', '北京市昌平区汇德商厦四楼'], ['赵*波', '上海市闵⾏区上海市闵⾏区莘庄镇庙泾路⽔清三村52号32弄402室'], ['许*', '北京市海淀区⻄北旺镇中海枫涟⼭庄北⻔对⾯中⼼'], ['李*成', '北京市昌平区沙河镇于⾟庄村天利合家园'], ['刘*', '江苏省南京市兴智路6号兴智科技园A栋7层'], ['张*涛', '安徽省合肥市安徽省合肥市庐阳区寿春路156号古井百花⼤厦⼤厦A座2603'], ['⾼*', '上海市虹⼝区欧阳路351弄10号楼104室'], ['⾕*成', '浙江省杭州市城厢街道 下湘湖路1号'], ['王*⽟', '上海市嘉定区南翔镇'], ['刘*海', '北京市海淀区⽟渊潭南路3号⽔科院万⽅城科技楼'], ['杨*娟', '安徽省合肥市清源路中铁国际城和畅园'], ['谢*桥', '北京市海淀区丰秀中路3号院9号楼北京数码⼤⽅科技股份有限公司'], ['张*', '陕⻄省咸阳市北上召秦楚汽⻋城别克雪佛兰4s店'], ['邵*⻰', '北京市海淀区⻄北旺镇⼤⽜坊社区四期4号楼1单元301'], ['耿*涛', '北京市朝阳区三间房东柳巷甲⼀号意菲克⼤厦A座'], ['孙*周', '北京市东城区东花市街道便宜坊写字楼10层,恒信通⼤厦。就在崇⽂⻔地铁站⼝旁边'], ['于*涵', '⼭东省济南市舜耕路舜耕⼭庄宿舍'], ['陈*', '上海市普陀区近铁城市⼴场北座15楼'], ['⻢*', '北京市昌平区沙河镇松兰堡村⻄⼝兴业家园6号楼'], ['李*宇', '江苏省苏州市⼯业园区苏雅路158号华盛⼴场3楼东北证券304室'], ['王*杰', '河北省邯郸市后仓街39号'], ['刘*明', '河北省唐⼭市卫国北路305张家⼝银⾏'], ['王*凡', '天津市南开区卫津路92号天津⼤学鹏翔公寓'], ['郭*军', '上海市浦东新区郭守敬路498号浦东软件园16号3楼'], ['宋*东', '北京市丰台区万寿路南⼝288号华信⼤厦'], ['江*', '安徽省⾩阳市临海尚城B区2单元,19号楼'], ['吴*', '河南省郑州市经三路与东⻛路交汇处⾦城国际⼴场6#东单元2403'], ['祁*雄', '湖北省武汉市洪⼭区⽩沙洲⼤道武汉科技⼤学北苑'], ['吕*', '上海市嘉定区上海市嘉定区嘉罗公路2019号'], ['⻩*', '湖北省武汉市国家光电实验室'], ['常*旗', '⼭东省潍坊市林海⽣态博览园'], ['陈*', '上海市虹⼝区吴淞路218号宝矿⼤厦2501A'], ['郑*琳', '北京市丰台区⻄⻢⾦润家园2区10号楼11单元11-2-1'], ['姚*峰', '江苏省⽆锡市江苏省⽆锡市滨湖区⻰⼭龚巷213#'], ['徐*', '浙江省杭州市余杭塘路515矩阵国际中⼼2号楼705'], ['沈*', '上海市⻓宁区⾦钟路968号凌空SOHO11号楼506室'], ['王*', '上海市浦东新区川沙路1666弄79号803'], ['徐*', '⼭东省⽇照市安东卫街道汾⽔村'], ['路*领', '北京市丰台区四⽅景园⼀区3号楼1006室'], ['张*巍', '河南省开封市⻄环路北段⻘年城8号楼3单元302'], ['王*俊', '江苏省盐城市新都路29号紫⾦⼤厦19楼'], ['姜*波', '北京市朝阳区北京市朝阳区⾩通东⼤街1号望京soho塔三B座17层1707'], ['曹*翎', '江苏省苏州市科教新城太和丽都31-1604'], ['⻬*', '江苏省南京市天元东路228号莱茵量⼦国际'], ['⾼*', '⼭⻄省太原市经济技术开发区⻰盛街2号国药控股'], ['刘*', '北京市海淀区中关村丹棱街中国电⼦⼤厦B座1608'], ['陈*⼭', '安徽省六安市南港镇'], ['赵*', '⿊⻰江省哈尔滨市锦⼭路5号,⿊⻰江省地质科学研究所'], ['伍*', '安徽省芜湖市泉塘镇'], ['⽩*潮', '上海市浦东新区康桥镇环桥路2585弄⽂怡苑⼀期27号楼301'], ['⻩*曦', '北京市朝阳区⻄坝河南路3号2层201室 同创双⼦信息技术股份有限公司'], ['牟*强', '⼭东省⽇照市⼭东东路619号 ⼴电⽹络公司'], ['李*运', '上海市松江区沪亭南路208弄109号801室'], ['杨*', '北京市朝阳区安苑路20号世纪兴源⼤厦304'], ['宋*伟', '河北省⽯家庄市⾼头乡⻄⾼村'], ['任*鹏', '陕⻄省⻄安市锦业⼀路29号 ⻰旗科技园 6层 ⻄安和利时系统⼯程有限公司'], ['孙*洲', '北京市东城区东花市街道便宜坊写字楼10层,恒信通公司。就在崇⽂⻔地铁站旁边'], ['张*义', '上海市浦东新区三舒路181弄2号904'], ['⻔*意', '⿊⻰江省哈尔滨市⽂昌街238号联通系统集成有限公司'], ['陈*维', '上海市虹⼝区欧阳路196号26栋2楼'], ['周*涛', '浙江省嘉兴市施家北路陈家浜1号'], ['吴*', '江苏省苏州市⼯业园区星湖街328号11栋'], ['苏*', '河南省郑州市登封路晨光社区14号院绿⽥ᰀ超市'], ['王*', '陕⻄省⻄安市雁塔区雁翔路58号⻄安理⼯⼤学曲江校区'], ['赵*⻰', '河北省廊坊市燕郊经济开发区福成⼤酒店东福成⾏政中⼼三楼信息部'], ['范*勇', '江苏省苏州市苏州市吴中区⽊渎镇胥⼝镇621号斯莱克精密设备股份有限公司'], ['⽩*', '北京市东城区安定⻔外⼤街10号楼415'], ['刘*', '北京市昌平区回⻰观镇⼆拨⼦新村东区7号楼1单元402'], ['钱*庭', '江苏省江苏省泰州市姜堰区南苑新村58号'], ['王*', '北京市朝阳区北京市朝阳区摩托罗拉⼤厦'], ['杨*', '北京市朝阳区⾩荣街10号⾸开⼴场5楼'], ['姬*⻜', '北京市昌平区宏福创业园15号创昱'], ['熊*威', '浙江省杭州市万塘路252号计量⼤厦10楼'], ['薛*', '⼭东省济南市⾼新区新泺⼤街888号福瑞达'], ['贾*凯', '上海市浦东新区鹤永路751弄汇贤雅苑'], ['孟*震', '上海市宝⼭区淞南镇祥腾⽣活⼴场,8栋816室'], ['刘*', '河南省洛阳市城关镇⼈⺠路21号'], ['杨*凯', '湖北省武汉市中国地质⼤学北区1栋'], ['王*', '上海市浦东新区环桥路1137弄秀怡苑31号楼302'], ['夏*', '北京市朝阳区垂杨柳东⾥11号楼3单元402'], ['张*宇', '北京市海淀区中关村南⼤街6号中电信息⼤厦1207'], ['蔡*', '陕⻄省⻄安市凤城⼋路天朗御湖⼀号楼⼆单元(⻄⻔)'], ['⾼*', '新疆乌鲁⽊⻬市⺠主路99号建⾏⼤厦12楼审计室'], ['孙*园', '陕⻄省⻄安市丈⼋沟街道科技五路8号数字⼤厦'], ['王*亚', '北京市朝阳区华盛乐章b座1708'], ['李*博', '⼭东省淄博市索镇花园⼩区5#2单元202室'], ['⽅*', '北京市海淀区北洼⻄⾥33号清华同⽅研究院'], ['杨*东', '上海市闵⾏区梅陇镇⾼兴路⾼兴花园⼀街坊14号501'], ['袁*', '陕⻄省⻄安市⾼新四路南窑头东区22排11号'], ['王*', '天津市河北区建国道地铁站B⼝旁⻘创中⼼'], ['程*磊', '北京市⻄城区北三环中路27号商房⼤厦5楼'], ['陈*琦', '安徽省合肥市徽州⼤道与九华⼭路交叉⼝信旺九华国际2419'], ['刘*杰', '北京市⼤兴区亦庄经济开发区地盛北街1号35号楼2栋北京如⻛达快递有限公司'], ['侯*森', '北京市朝阳区北苑路潮驿178'], ['胡*辉', '浙江省杭州市瑞⽴东⽅花城2-2-503'], ['杨*平', '北京市昌平区沙河镇于⾟庄村赋腾公寓'], ['⻩*', '浙江省杭州市衢江路耀江福村3单元602'], ['李*', '上海市⻩浦区⻩浦区北京东路288弄66号甲,后⻔201室'], ['邹*', '安徽省淮北市南坪镇⻩沟村邹圩庄'], ['刘*', '北京市昌平区沙河镇赋腾公寓E516'], ['彭*', '北京市望京SOHOt3 40层'], ['张*乾', '河南省周⼝市⼋⼀路⼈⺠路交叉⼝医药局家属楼'], ['贺*梦', '北京市通州区永顺镇世纪星城92号楼⼆单元'], ['冯*琴', '北京市海淀区⾦澳国际写字楼1115 中汇'], ['邓*亮', '湖北省武汉市云林街台北⼀路58号'], ['李*沙', '北京市昌平区城南街道北清路珠江摩尔国际⼤厦五号楼⼆单元906'], ['徐*瑞', '上海市徐汇区古美路1595号宝⽯园27号楼2楼D区'], ['梁*', '陕⻄省⻄安市电⼦⼆路18号(⻄安⽯油⼤学)'], ['徐*', '浙江省衢州市⻄区⼴电⼤楼'], ['雷*强', '河南省信阳市汪桥镇街道滨河花园A幢6208'], ['张*亮', '天津市河⻄区郁江道17号陈塘科技328'], ['陈*', '上海市浦东新区东⽅路1217号陆家嘴⾦融服务⼴场15楼'], ['郭*', '北京市昌平区北七家镇东三旗365号'], ['李*扬', '上海市浦东新区北蔡镇北艾路1500弄6号楼203'], ['汝*明', '吉林省⻓春市⻓春光机所研究⽣部D栋'], ['朱*懿', '上海市静安区陕⻄北路66号科恩国际中⼼1027室'], ['刘*', '上海市浦东新区五莲路 锦河苑'], ['任*荣', '陕⻄省⻄安市软件新城软件公寓'], ['王*', '上海市闵⾏区莲花路2080弄50号C幢3楼'], ['崔*斌', '北京市房⼭区阎村镇焦庄村四⾥'], ['王*强', '浙江省杭州市物联⽹街451号芯图⼤厦17楼'], ['姬*玲', '⿊⻰江省哈尔滨市⻓江路462号悦⼭国际c座1单元2501'], ['T*m', '上海市浦东新区浦东⼤道3040弄丽江锦庭1号楼'], ['李*宇', '⿊⻰江省绥化市⼗道街升平⼩区15号楼1单元102室'], ['董*', '河南省郑州市崇⾼路与嵩⼭路交叉⼝北⻩河商务酒店'], ['杨*辉', '江苏省镇江市江苏⼤学F 区'], ['韩*鉴', '北京市⻔头沟区滨河路葡东⼩区七号楼4层D⻔'], ['罗*若', '陕⻄省⻄安市⻰⾸北路宫园⼀号5号楼4单元'], ['王*', '北京市海淀区上地东路盈创动⼒⼤厦e座801c源清慧虹信息科技'], ['⻢*', '湖北省武汉市庙⼭中路10号名湖豪庭7栋1403'], ['常*峰', '⼭⻄省太原市迎新街'], ['侯*', '浙江省杭州市江陵路1541号'], ['许*娟', '上海市宝⼭区殷⾼⻄路⾼境⼆村177号502'], ['徐*⻜', '湖北省武汉市潘塘街喻⼤村梅家⼤湾'], ['崔*腾', '辽宁省沈阳市虹桥路15号富雅豪临'], ['张*俊', '新疆巴⾳郭楞州⽯化⼤道塔指1区25栋403'], ['严*', '北京市⼤兴区清源北路16号,校⻓⼤厦'], ['李*', '北京市⼤兴区⼗⼋⾥店乡横街⼦村64号柠檬家园B113'], ['于*佳', '北京市朝阳区郎园2号A座2层'], ['张*江', '北京市海淀区海淀区上地三街9号⾦隅嘉华⼤厦F座703室'], ['萌*', '北京市⻄城区⾦融街邮政集团公司'], ['张*宾', '河南省郑州市⽂治路泰祥投资集团楼下新锐⼴告'], ['彭*灿', '江苏省苏州市⽟⼭镇印象欧洲17#606'], ['王*亮', '北京市朝阳区双营路11号美⽴⽅4号楼4单元602'], ['朱*伦', '北京市海淀区⻄三环中路19号海军⼤院⻄⻔顺丰快递'], ['杜*', '河北省⽯家庄市河北科技⼤学新校区26号'], ['董*', '北京市朝阳区雅宝路华声国际⼤厦'], ['朱*', '江苏省镇江市延陵镇'], ['段*', '⼭东省临沂市银雀⼭街道万阅城A座1207'], ['朱*', '北京市昌平区北京联合⼤学昌平校区'], ['陈*章', '北京市昌平区沙河镇⽩沙路汇德商厦⽼男孩教育'], ['肖*雅', '北京市昌平区沙河汇德商厦4楼⽼男孩⼉教育'], ['赵*明', '北京市昌平区沙河顺沙路汇德商厦⽼男孩教育403'], ['邹*', '宁夏银川市上海路福州街⼝云峰盛⼤药房'], ['袁*', '辽宁省锦州市辽宁省凌海市国庆路33B号2单元23室'], ['陈*', '浙江省杭州市昌化电站⾥56号骏程瓷砖店'], ['索*辉', '辽宁省沈阳市浑南区创新路117号东软医疗系统有限公司'], ['李*', '北京市⼤兴区天宫院地铁站熙悦春天⼩区'], ['张*', '陕⻄省⻄安市电⼦城街道⾼新领域4号楼'], ['王*', '⼭⻄省吕梁市⼀家庄⼩区三期五号楼'], ['钟*', '陕⻄省商洛市商洛学院'], ['薛*', '江苏省泰州市⼝岸街道向阳北路94号农商⾏'], ['张*强', '⽢肃省兰州市北滨河⻄路666号(中国移动⽢肃分公司)'], ['姚*⻜', '上海市浦东新区成⼭路1728弄88号'], ['赵*宁', '浙江省⾦华市光南路898号⾦华移动公司'], ['张*昌', '北京市昌平区回⻰观东⼤街 矩阵⼩区 11楼1单元1102室'], ['董*亨', '上海市嘉定区曹安公路4800号同济⼤学嘉定校区'], ['李*根', '北京市昌平区⻢连店4号楼2单元'], ['贾*新', '北京市海淀区学院路29号'], ['吕*', '浙江省⾈⼭市⾼亭镇军⺠路106号'], ['张*东', '河南省周⼝市⻄华县基城⾼中'], ['李*东', '河北省⽯家庄市新⽯中路,物联⽹⼤厦10层'], ['韩*泰', '⼭东省⻘岛市⻘岛农业⼤学⻄苑'], ['邵*遥', '浙江省杭州市塘栖镇张家墩路65号博乐展具内'], ['李*泽', '河南省郑州市郑东新区⻰⼦湖⾼校园区郑州信息科技职业学院'], ['沈*蕾', '浙江省杭州市下沙学源街中国计量⼤学'], ['冯*明', '上海市浦东新区张江路华夏中路 虹御公寓'], ['海*', '浙江省杭州市良渚街道⼤陆村邱家桥桥南3号'], ['刘*⻰', '北京市通州区台湖镇次渠嘉园8区1号楼1705号'], ['王*宇', '河南省安阳市红旗路天宇国际三号楼四单元'], ['宋*波', '北京市海淀区⻰翔路甲1号泰翔商务楼508'], ['周*萧', '北京市昌平区回⻰观镇史各庄村176号'], ['梁*升', '吉林省吉林市承德街45号吉林化⼯学院'], ['陈*⻰', '上海市浦东新区郭守敬路498号23号楼23215'], ['张*', '上海市徐汇区桂林路402号 诚达创意园76幢407室 银基科技'], ['何*畅', '河南省周⼝市⻄华县箕城⾼中'], ['欧*', '北京市丰台区东营⾥5号院8号楼2单元401'], ['张*', '陕⻄省⻄安市陕⻄⻄安思源学院'], ['曹*', '浙江省宁波市⽩沙街道新⻢路61弄江北区农林⽔利局'], ['陈*刚', '宁夏银川市上海东路银佐家园东区11-1-501'], ['喻*明', '湖北省武汉市徐东'], ['陈*余', '北京市海淀区⽢家⼝街道⾩成路北⼆街⾩光⾥⼩区7号楼⼆单元102'], ['刘*博', '⼭⻄省太原市⼩店区平阳路42号⼭⻄省⾃动化研究所'], ['王*', '北京市⼤兴区亦庄经济技术开发区⼤族⼴场T5,6层洪泰空间c033'], ['褚*⽂', '湖北省武汉市明伦正街明伦⽣鲜市场9号'], ['乔**', '河北省衡⽔市⾹榭丽都2号楼1单元 2603'], ['貟*杰', '上海市宝⼭区上海市宝⼭区陆翔路678弄62号903'], ['⽢*德', '北京市海淀区四季⻘杏⽯⼝路甲18号航天信息园'], ['杨*奖', '北京市东城区东单北⼤街1号国旅⼤厦502'], ['李*', '北京市海淀区北京市海淀区中关村南⼤街9号理⼯科技⼤厦207'], ['刘*', '浙江省杭州市紫荆花路⾦⽉巷嘉⽲花苑'], ['刘*亮', '北京市朝阳⻔'], ['聂*敏', '上海市浦东新区⾼博路188弄1号楼1903室'], ['刘*正', '⼭东省⻘岛市流亭街道洼⾥社区⼋号楼尚美美发'], ['杨*强', '陕⻄省⻄安市枣园路万科⾦⾊悦城'], ['聂*', '湖北省武汉市台银⼤厦1单位1楼'], ['刘*', '上海市闵⾏区闵驰⼀路29弄3号1101'], ['郭*', '⻘海省⻄宁市互助东路12号海亮⼤都汇'], ['芦*坤', '北京市朝阳区北京⼯⼈体育场3号看台2号楼1706'], ['晋*林', '上海市杨浦区隆昌路619号城市概念10号b座'], ['董*', '浙江省杭州市丰潭路城⻄银泰E2幢10楼'], ['刘*', '湖北省武汉市中国地质⼤学(北区)'], ['⻢*', '河北省保定市保定市南市区朝阳南⼤街哈弗技术中⼼2076号包裹站'], ['王*超', '⿊⻰江省哈尔滨市永泰城3号楼1单位1304'], ['孙*敏', '北京市昌平区北京市昌平区沙河于⾟庄于⾟家园1号楼1单元'], ['郑*⻰', '河南省郑州市花园路国基路花园SOHO2栋'], ['李*', '北京市昌平区流星花园三区11号楼4单元401室'], ['李*', '浙江省杭州市⾦岸提⾹3幢1单元1303'], ['庄*峰', '北京市海淀区慧科⼤厦'], ['⻢*', '北京市朝阳区惠新东街11号紫光发展⼤厦A座12层'], ['朱*', '北京市海淀区东升镇宝盛东路奥北科技园领智中⼼B座5层'], ['吴*峰', '湖北省武汉市幸福路鸿福花园1栋3006'], ['付*诚', '北京市海淀区观林园'], ['滕*', '江苏省南京市秣周东路11号双⼦楼9号楼15楼君度科技'], ['⽯*刚', '辽宁省⼤连市⼤连市经济技术开发区福泉北路20号'], ['程*', '北京市昌平区沙河兆丰家园'], ['武*', '北京市昌平区回⻰观⻄⼤街⻰腾苑五区16号楼1单元202'], ['郭*欣', '北京市⻄城区⾩成⻔ 万通新世界 B座1503'], ['⽑*', '陕⻄省⻄安市⾼新六路万象汇B座'], ['⻰*宇', '⼭东省⻘岛市⼭东省⻘岛市市南区⻘岛啤酒⼤厦403'], ['郅*', '北京市顺义区后沙峪清岚花园⻄区15号楼⼀单元502'], ['蔡*芝', '江苏省南京市新模范⻢路五号南京⼯业⼤学国家科技园 A2405'], ['王*⻜', '江苏省苏州市⼯业园区雪堂街1号,善⾏楼17栋'], ['葛*光', '北京市海淀区复兴路甲23号华能⼤厦'], ['胡*鑫', '天津市和平区河南路63号'], ['陶*东', '浙江省宁波市杭州湾新区滨海四路777号b-4'], ['王*庆', '上海市静安区万荣路700号A1 SINODIS⻝品有限公司'], ['刘*闯', '北京市东城区东中街58号美惠⼤厦B座2单元1层MH-Z-0005'], ['李*', '上海市闵⾏区航北路228弄142号202'], ['林*春', '河南省郑州市河南中医药⼤学⻰⼦湖校区'], ['张*春', '陕⻄省延安市李渠镇阳⼭村延安北铁路⼩区'], ['李*', '浙江省杭州市⽂三⻄路52号建投⼤厦'], ['李*', '河南省郑州市红旗路6号华图教育'], ['徐*麒', '河南省洛阳市河南科技⼤学开元校区'], ['陈*', '江苏省苏州市伟业迎春华府'], ['张*', '北京市北京亦庄经济开发区地泽北街1号朗致集团'], ['伍*葵', '新疆阿克苏地区红旗坡⼗⼀队'], ['王*操', '上海市浦东新区亮秀路72号X座6楼'], ['孙*强', '湖北省宜昌市⼤学路8号三峡⼤学'], ['王*军', '⼭东省临沂市九曲街道格瑞斯⼩镇'], ['郭*', '天津市⻄⻘区侯台碧⽔家园e区'], ['聂*双', '北京市海淀区柳浪家园东⾥5号楼3单元801室'], ['安*', '辽宁省沈阳市⻘⼭路亚都名苑3期逸林14号楼1-11-2'], ['戴*', '浙江省杭州市乔司街道花漫⾥8幢3单元101'], ['⽶*俊', '陕⻄省⻄安市太⽩新苑'], ['周*祺', '河南省新乡市新辉路街道建设⻄路保温瓶⼚家属院向⻄100⽶新中批发'], ['丁*', '⼭⻄省运城市运城宾馆对⾯北⼤⻘⻦'], ['⽂*宇', '湖北省宜昌市三峡⼤学欣苑'], ['王*', '北京市海淀区北清路68号⽤友软件园'], ['张*君', '⼭东省⻘岛市上清路16号甲,⻘岛东软载波科技股份有限公司'], ['正*', '⼭东省济南市经⼗路20188号'], ['李*晓', '北京市朝阳区国际电⼦城总部360发票A座收发室'], ['丁*涛', '江苏省苏州市⼦胥路新峰⼯业⼩区11栋苏州三川'], ['A*yua*', '上海市浦东新区华佗路1号'], ['夏*捷', '陕⻄省⻄安市⻄安邮电⼤学'], ['郭*坤', '⼭东省济宁市济宁学院男⽣宿舍'], ['杨*星', '湖北省武汉市江夏⼤道18号梅兰⼭居碧⽔轩'], ['唐*宁', '新疆乌鲁⽊⻬市新疆省乌鲁⽊⻬头屯河区⽕⻋⻄站6街'], ['⽥*', '上海市⻩浦区⻢当路388号SOHO复兴⼴场E栋2楼R13A'], ['覃*', '湖北省武汉市南李路55号'], ['杨*', '北京市朝阳区光华路甲8号和侨⼤厦B座508'], ['梁*雷', '北京市海淀区王庄路1号,清华同⽅科技⼴场B2006'], ['李*', '湖北省武汉市东湖⾼新南湖⼤道182号'], ['曹*伟', '江苏省南京市安德⻔⼤街57号楚翘城1号楼4层'], ['郭*铠', '⼭⻄省太原市南中环⻄街万年花城7号楼2单元401'], ['李*⽣', '江苏省南京市江⼭路明发3期332栋603室'], ['许*⾠', '河南省郑州市丰产路111号河南省国家税务局8楼信息中⼼'], ['姚*超', '北京市昌平区TBD云集中⼼1号楼5层'], ['张*', '⼭东省⻘岛市⼭东科技⼤学'], ['⾼*锐', '⼭东省济南市经⼗路万科⾦域中⼼a座'], ['严*', '安徽省合肥市双凤开发区⾩阳北路与魏武路交叉⼝⻄南⻆北部湾⼩区'], ['李*春', '⼭东省德州市德州职业技术学院'], ['张*豪', '河南省南阳市河南省南阳市宛城区第七⼩学邮政家属院对⾯的楼七⼀搬运站'], ['康*', '北京市朝阳区垡头东⾥百斯特⼤厦A663'], ['陈*', '江苏省南京市⽂苑路9号南京邮电⼤学'], ['柴*⻁', '北京市昌平区北七家镇顺玮阁⼩区'], ['韩*', '辽宁省葫芦岛市⼩庄⼦乡宝仓村'], ['魏*森', '北京市昌平区于⾟庄路,赋腾国创中⼼,2楼'], ['邓*明', '北京市丰台区新华街三⾥1号楼305'], ['赵*', '上海市宝⼭区宝⼭区⾼境镇⾼境⼀村11号后3号⻋库'], ['徐*亮', '北京市海淀区花园东路11号泰兴⼤厦302'], ['张*凡', '北京市昌平区沙河镇松兰堡迎客家园507'], ['赵*', '北京市北京市海淀区农⼤国际创业园b区6065'], ['顾*天', '北京市海淀区上地东路1号华控⼤厦'], ['丁*', '上海市杨浦区安波路533弄硕和商务2号楼1102'], ['封*号', '江苏省苏州市陆家镇陆丰东路199号⽔岸⾹堤2#2309'], ['王*哲', '上海市静安区曲沃路430弄15号401'], ['刘**', '湖北省武汉市左岭镇 武汉华星光电⼀号⻔'], ['付*', '安徽省合肥市⻓江⻄路305号电信新技术楼'], ['鲁*', '湖北省武汉市武⼤科技园宏业楼C座'], ['张*', '北京市朝阳区⼩营路13号亚⾮⼤厦7层8704室'], ['⻬*', '湖北省武汉市珞喻路⻢家庄'], ['王*', '北京市海淀区北坞嘉园北⾥9号楼三单元D01'], ['陈*⻰', '北京市朝阳区北卫新园'], ['曹*⽣', '江苏省⽆锡市澄南花苑'], ['沈*', '北京市海淀区中关村南⼤街甲18号北京国际⼤厦D座7层'], ['续*', '⼭⻄省晋中市中都⼴场12层畅快⻋贷'], ['赵*全', '河北省唐⼭市李钊庄镇⼤王庄村'], ['成*', '上海市虹⼝区东五⼩区641号楼2007'], ['⽅*', '上海市闵⾏区联航路1399弄28号1103室'], ['曹*', '上海市浦东新区向城路15号24C'], ['韩*德', '北京市⼤兴区枣园北⾥⼩区1号楼8单元202'], ['⾦*鹏', '浙江省温州市温州职业技术学院⽣活区快递中⼼'], ['陶*明', '浙江省嘉兴市南溪路桂苑⼩区23幢603'], ['李*ir', '北京市丰台区南苑乡 德鑫家园9号楼5单元50'], ['姜*杰', '⼭东省临沂市凤凰岭⼤街惠⺠早餐'], ['l*xq', '辽宁省沈阳市卫⼯南街4-4⽹点2⻔瀚⾠跆拳道'], ['赵*', '河北省邯郸市幸福街于联防路交叉⼝北⾏幸福馨苑'], ['张*锋', '内蒙古呼和浩特市双河镇莹昱佳苑商铺A段13号(防汛东巷莲爱粮油副⻝⻔市)'], ['胡*', '北京市⻄城区鸭⼦桥路24号'], ['王*鲲', '北京市延庆区东外⼩区15号楼⼀单元101'], ['⻢*闻', '陕⻄省⻄安市⻄安邮电⼤学东⻔'], ['许*', '安徽省合肥市宿松路紫⽵苑B区2栋2单元602室'], ['范*', '浙江省⾦华市⾦华职业技术学院'], ['⻢*铎', '⼭⻄省太原市徐沟镇⼭⻄警察学院'], ['武*⽂', '上海市浦东新区浦东新区盛夏路738弄樟盛苑32号楼⼀楼'], ['陈*', '江苏省徐州市苏堤北⼩区四号楼三单元702室'], ['曹*政', '辽宁省⼤连市⼤连理⼯⼤学软件学院'], ['张*超', '⼭东省济南市⼋⼀⽴交桥⻄南⻆联通公司3号楼'], ['唐*⽣', '⼭东省济南市⼯业南路鑫苑国际城市花园'], ['严*鹏', '上海市杨浦区五⻆场街道 国定路277弄铁村⼩区13号601'], ['张**', '⽢肃省兰州市⽢肃省兰州市七⾥河区兰公坪兰州理⼯⼤学校本部'], ['麻*肖', '安徽省宿州市⾹格⾥拉108幢'], ['刘*仪', '河北省廊坊市燕郊经济开发区 华北科技学院'], ['刘*⻰', '河南省洛阳市新⼀中⽂印室'], ['李*', '陕⻄省⻄安市临潼区⻄安科技⼤学'], ['相**', '北京市昌平区天通公园⾥'], ['康*熙', '⼭⻄省忻州市万⼈商厦对⾯联想专卖店'], ['张*栋', '⼭东省泰安市安驾庄镇上前'], ['陶*', '安徽省宣城市鳌峰东路180号宣城皖南农商银⾏413室'], ['艾*⻨提江·拜克热', '浙江省杭州市浦沿街道江畔云卢4幢2单元1202'], ['王*', '上海市浦东新区福⼭路455号,全华信息⼤厦,1楼,平安银⾏'], ['刘*林', '湖北省宜昌市枝城镇⼤堰村四组'], ['罗*', '河南省信阳市⻄关⻩国新城C6'], ['莫*', '河南省郑州市⾦⽔区76号9202'], ['徐*⻰', '安徽省合肥市⻓江⻄路新加坡花园城4联排'], ['杨*杰', '⼭⻄省忻州市京原南路雷神⽹咖'], ['朱*北', '海南省海⼝市和平北路三亚上⼆街9号'], ['朱*', '浙江省杭州市⻰湖春江郦城'], ['常*磊', '北京市海淀区学院南路59号'], ['王*阳', '江苏省南京市南京江宁21世纪现代城'], ['谢*星', '⽢肃省酒泉市雄关路54号东⻛物流⼗号'], ['侯*', '河南省郑州市河南省郑州市⾼新区莲花街牡丹路⻄雅图荣邦城'], ['孙*康', '江苏省南京市化⼯园⽅⽔东路9号'], ['索*华', '北京市昌平区北七家镇东三旗村委会'], ['王*', '陕⻄省⻄安市⼗⾥铺街⻓⼒⼩区北⻔对⾯(王家辣⼦⾯)'], ['姜*⽣', '北京市朝阳区东⼤桥宫宵国际1103'], ['顾*⽣', '安徽省⾩阳市清河⻄路100号⾩阳师范学院'], ['申*伟', '上海市⻘浦区巷佳华苑三期10号楼904室'], ['刘*', '湖北省武汉市左岭新城1社区15栋'], ['单*成', '⼭东省⽇照市⽇照职业技术学院'], ['韩*红', '上海市杨浦区隆昌路619号10号楼⼆楼'], ['魏*琪', '北京市丰台区汉威国际⼴场4区12号楼'], ['杨*康', '北京市丰台区丰台科技园汉威⼴场12栋'],]

4.2 解决方案:

# 1. 引入数据源
# 2. 利用'省' 和 '市'搜索(index)并利用字典分类
# 3. 打印分类

# step1
Data_list = [
    ['王*龙', '北京市海淀区苏州街大恒科技大厦南座4层'],
    ['庞*飞', '北京市昌平区汇德商厦四楼403'],
    ['顾*锐', '江苏省扬州市三垛镇工业集中区扬州市立华畜禽有限公司'],
    ['王*飞', '上海市徐汇区上海市徐汇区H88越虹广场B座5E'],
    ['华*升', '北京市海淀区杰睿大厦'],
    ['朱*锴', '上海市浦东新区川沙新镇华川家园33号楼503'],
    ['陈*盼', '浙江省杭州市闲林街道,西溪华东园,十幢一单元401。'],
    ['司*鹏', '河南省鹤壁市淇滨大道310号  鹤壁京立医院'],
    ['聂*睿', '河北省石家庄市中山路勒泰中心写字楼b座11层'],
    ['张*', '辽宁省本溪市明兴丽城九号楼四单元'],
    ['冉*晗', '河北省石家庄市体育南大街385号'],
    ['高*杰', '北京市朝阳区广渠路42号院3号楼,408'],
    ['李*国', '安徽省合肥市新站区淮合花园'],
    ['常*源', '江苏省南京市白下路242号,南京市红十字医院,放射科'],
    ['张*玉', '河北省沧州市新居然家居广场'],
    ['王*川', '上海市奉贤区南桥镇 贝港七区'],
    ['冀*庆', '河北省保定市河北大学坤兴园生活区'],
    ['胡*晨', '浙江省宁波市浙江省宁波市江东区中山首府A座2004室'],
    ['尹*婷', '湖北省武汉市武汉大学信息学部'],
    ['李*东', '辽宁省大连市大关一街3号3-3-1'],
    ['张*', '天津市河西区隆昌路94号(天津科技馆)'],
    ['刘*', '湖北省黄冈市城关镇'],
    ['阿*亚', '内蒙古省呼和浩特市包头东接民望家园1区3号楼2单元1501'],
    ['孙*云', '山东省济南市山东省济南市历下区祥泰汇东国际,一号楼3005室'],
    ['曹*亮', '黑龙江省大庆市服务外包产业园D1'],
    ['侯*琦', '上海市长宁区金钟路凌空soho16号楼3楼'],
    ['郭*峰', '河南省商丘市高新技术开发区恒宇食品厂'],
    ['赵*生', '河北省唐山市朝阳道与学院路路口融通大厦2408室'],
    ['张*', '陕西省咸阳市文汇东路6号西藏民族大学'],
    ['刘*民', '北京市大兴区南海家园四里7号楼1单元902'],
    ['郭*兰', '湖北省武汉市湖北省'],
    ['张*强', '河北省张家口市经开区钻石南路11号'],
    ['鞠*龙', '山东省潍坊市玉清街江山帝景B区12号楼一单元14楼'],
    ['李*', '北京市海淀区西二旗智学苑5号楼超市'],
    ['许*康', '北京市西城区西单北大街甲133号'],
    ['叶*生', '江苏省扬州市扬子江中路756号'],
    ['赵*兴', '北京市海淀区西二旗上地信息路1号金远见大楼华纬讯301'],
    ['徐*革', '北京市海淀区闵庄路3号102栋二层206'],
    ['徐*', '安徽省淮南市金荷小区(金格商场旁)'],
    ['雷*', '北京市朝阳区望京街道望京sohoT1C座1201'],
    ['庄*', '浙江省杭州市恒生电子大厦'],
    ['蔡*恩', '湖北省武汉市仁和路沙湖港湾B区1103'],
    ['陈*', '江苏省苏州市巴城镇湖滨北路193号牛吃蟹庄'],
    ['黄*', '北京市朝阳区霄云路26号鹏润大厦A座33层'],
    ['魏*飞', '河北省石家庄市新石北路与红旗大街交口开元大厦502室'],
    ['张*', '山东省济南市兴港路三庆城市主人'],
    ['段*琪', '山西省临汾市福利路尧乡小区'],
    ['刘*', '北京市昌平区龙禧三街骊龙园601'],
    ['王*生', '上海市杨浦区邯郸路复旦大学遗传学楼319室'],
    ['王*君', '江苏省扬州市叶挺路318号建行营业部'],
    ['王*义', '北京市东城区环球贸易中心D座'],
    ['李*', '陕西省汉中市同沟寺镇晨光村二组'],
    ['裴*宇', '吉林省四平市岭西新耀豪庭7栋'],
    ['丁*', '山东省烟台市大季家镇芦洋村'],
    ['刘*铎', '黑龙江省佳木斯市火电小区桥头浴池附近惠惠干洗店'],
    ['樊*', '浙江省宁波市文苑风荷201-301'],
    ['陈*瑞', '安徽省宣城市安徽省宣城市宣州区薰化路301合肥工业大学宣城校区'],
    ['崔*峰', '浙江省台州市福溪街道始丰西路43号501室'],
    ['徐*', '湖北省武汉市三金雄楚天地1号楼1210'],
    ['王*', '浙江省宁波市浙江工商职业技术学院信息中心'],
    ['闫*', '上海市浦东新区蓝天路368弄1号301室'],
    ['于*泉', '吉林省四平市金星书苑小区8号楼5单元102室'],
    ['刘*萌', '河北省秦皇岛市抚宁镇交通局家属院3-2-201'],
    ['石*', '安徽省宣城市薰化路301'],
    ['王*雯', '甘肃省兰州市天水南路222号兰州大学'],
    ['王*朝', '河南省郑州市嵩山南路政通路升龙城六号院'],
    ['金*晶', '吉林省延边州延吉市新兴街民安委11'],
    ['蒋*彬', '辽宁省本溪市新城北岸,恒大绿洲'],
    ['牛*鑫', '黑龙江省鸡西市南山路康光二号楼中雅发廊'],
    ['陈*宏', '山西省太原市太原理工大学'],
    ['刘*', '山西省运城市卿头镇'],
    ['陈*杰', '浙江省宁波市高新区研发园A5幢7楼多维时空科技有限公司'],
    ['郝**', '山东省德州市焦庙镇'],
    ['焦*', '山西省长治市太行西街金威超市太西店金威快购办公室'],
    ['李*旗', '北京市昌平区沙河镇汇德商厦4楼403老男孩教育'],
    ['通*大都', '北京市丰台区万泉寺东路9号院1栋1单1704'],
    ['孙*川', '浙江省金华市佛堂镇雅西村双溪口便民超市'],
    ['宋*', '安徽省合肥市上派镇滨河家园9栋2102'],
    ['李*', '陕西省安康市汉滨区新城街道南环东路口桃园小区大门口'],
    ['李*连', '北京市昌平区立汤路北七家威尼斯花园2区2-3'],
    ['籍*旭', '北京市房山区良乡鸿顺园西区20号楼3单元601'],
    ['韩*嵩', '北京市昌平区立汤路威尼斯花园2区2-3'],
    ['曹*', '北京市朝阳区东三环北路28号博瑞大厦B座'],
    ['贺*', '上海市徐汇区古美路1515号19号楼1101室'],
    ['关*轩', '山西省长治市石哲镇'],
    ['罗*', '河北省廊坊市书香苑小区四号楼'],
    ['段**', '北京市朝阳区酒仙桥东路M5世纪互联'],
    ['杜*伟', '北京市昌平区汇德商厦老男孩教育'],
    ['王*', '北京市昌平区汇德商厦四楼'],
    ['赵*波', '上海市闵行区上海市闵行区莘庄镇庙泾路水清三村52号32弄402室'],
    ['许*', '北京市海淀区西北旺镇中海枫涟山庄北门对面中心'],
    ['李*成', '北京市昌平区沙河镇于辛庄村天利合家园'],
    ['刘*', '江苏省南京市兴智路6号兴智科技园A栋7层'],
    ['张*涛', '安徽省合肥市安徽省合肥市庐阳区寿春路156号古井百花大厦大厦A座2603'],
    ['高*', '上海市虹口区欧阳路351弄10号楼104室'],
    ['谷*成', '浙江省杭州市城厢街道 下湘湖路1号'],
    ['王*玉', '上海市嘉定区南翔镇'],
    ['刘*海', '北京市海淀区玉渊潭南路3号水科院万方城科技楼'],
    ['杨*娟', '安徽省合肥市清源路中铁国际城和畅园'],
    ['谢*桥', '北京市海淀区丰秀中路3号院9号楼北京数码大方科技股份有限公司'],
    ['张*', '陕西省咸阳市北上召秦楚汽车城别克雪佛兰4s店'],
    ['邵*龙', '北京市海淀区西北旺镇大牛坊社区四期4号楼1单元301'],
    ['耿*涛', '北京市朝阳区三间房东柳巷甲一号意菲克大厦A座'],
    ['孙*周', '北京市东城区东花市街道便宜坊写字楼10层,恒信通大厦。就在崇文门地铁站口旁边'],
    ['于*涵', '山东省济南市舜耕路舜耕山庄宿舍'],
    ['陈*', '上海市普陀区近铁城市广场北座15楼'],
    ['马*', '北京市昌平区沙河镇松兰堡村西口兴业家园6号楼'],
    ['李*宇', '江苏省苏州市工业园区苏雅路158号华盛广场3楼东北证券304室'],
    ['王*杰', '河北省邯郸市后仓街39号'],
    ['刘*明', '河北省唐山市卫国北路305张家口银行'],
    ['王*凡', '天津市南开区卫津路92号天津大学鹏翔公寓'],
    ['郭*军', '上海市浦东新区郭守敬路498号浦东软件园16号3楼'],
    ['宋*东', '北京市丰台区万寿路南口288号华信大厦'],
    ['江*', '安徽省阜阳市临海尚城B区2单元,19号楼'],
    ['吴*', '河南省郑州市经三路与东风路交汇处金城国际广场6#东单元2403'],
    ['祁*雄', '湖北省武汉市洪山区白沙洲大道武汉科技大学北苑'],
    ['吕*', '上海市嘉定区上海市嘉定区嘉罗公路2019号'],
    ['黄*', '湖北省武汉市国家光电实验室'],
    ['常*旗', '山东省潍坊市林海生态博览园'],
    ['陈*', '上海市虹口区吴淞路218号宝矿大厦2501A'],
    ['郑*琳', '北京市丰台区西马金润家园2区10号楼11单元11-2-1'],
    ['姚*峰', '江苏省无锡市江苏省无锡市滨湖区龙山龚巷213#'],
    ['徐*', '浙江省杭州市余杭塘路515矩阵国际中心2号楼705'],
    ['沈*', '上海市长宁区金钟路968号凌空SOHO11号楼506室'],
    ['王*', '上海市浦东新区川沙路1666弄79号803'],
    ['徐*', '山东省日照市安东卫街道汾水村'],
    ['路*领', '北京市丰台区四方景园一区3号楼1006室'],
    ['张*巍', '河南省开封市西环路北段青年城8号楼3单元302'],
    ['王*俊', '江苏省盐城市新都路29号紫金大厦19楼'],
    ['姜*波', '北京市朝阳区北京市朝阳区阜通东大街1号望京soho塔三B座17层1707'],
    ['曹*翎', '江苏省苏州市科教新城太和丽都31-1604'],
    ['齐*', '江苏省南京市天元东路228号莱茵量子国际'],
    ['高*', '山西省太原市经济技术开发区龙盛街2号国药控股'],
    ['刘*', '北京市海淀区中关村丹棱街中国电子大厦B座1608'],
    ['陈*山', '安徽省六安市南港镇'],
    ['赵*', '黑龙江省哈尔滨市锦山路5号,黑龙江省地质科学研究所'],
    ['伍*', '安徽省芜湖市泉塘镇'],
    ['白*潮', '上海市浦东新区康桥镇环桥路2585弄文怡苑一期27号楼301'],
    ['黄*曦', '北京市朝阳区西坝河南路3号2层201室 同创双子信息技术股份有限公司'],
    ['牟*强', '山东省日照市山东东路619号 广电网络公司'],
    ['李*运', '上海市松江区沪亭南路208弄109号801室'],
    ['杨*', '北京市朝阳区安苑路20号世纪兴源大厦304'],
    ['宋*伟', '河北省石家庄市高头乡西高村'],
    ['任*鹏', '陕西省西安市锦业一路29号 龙旗科技园 6层 西安和利时系统工程有限公司'],
    ['孙*洲', '北京市东城区东花市街道便宜坊写字楼10层,恒信通公司。就在崇文门地铁站旁边'],
    ['张*义', '上海市浦东新区三舒路181弄2号904'],
    ['门*意', '黑龙江省哈尔滨市文昌街238号联通系统集成有限公司'],
    ['陈*维', '上海市虹口区欧阳路196号26栋2楼'],
    ['周*涛', '浙江省嘉兴市施家北路陈家浜1号'],
    ['吴*', '江苏省苏州市工业园区星湖街328号11栋'],
    ['苏*', '河南省郑州市登封路晨光社区14号院绿田野超市'],
    ['王*', '陕西省西安市雁塔区雁翔路58号西安理工大学曲江校区'],
    ['赵*龙', '河北省廊坊市燕郊经济开发区福成大酒店东福成行政中心三楼信息部'],
    ['范*勇', '江苏省苏州市苏州市吴中区木渎镇胥口镇621号斯莱克精密设备股份有限公司'],
    ['白*', '北京市东城区安定门外大街10号楼415'],
    ['刘*', '北京市昌平区回龙观镇二拨子新村东区7号楼1单元402'],
    ['钱*庭', '江苏省江苏省泰州市姜堰区南苑新村58号'],
    ['王*', '北京市朝阳区北京市朝阳区摩托罗拉大厦'],
    ['杨*', '北京市朝阳区阜荣街10号首开广场5楼'],
    ['姬*飞', '北京市昌平区宏福创业园15号创昱'],
    ['熊*威', '浙江省杭州市万塘路252号计量大厦10楼'],
    ['薛*', '山东省济南市高新区新泺大街888号福瑞达'],
    ['贾*凯', '上海市浦东新区鹤永路751弄汇贤雅苑'],
    ['孟*震', '上海市宝山区淞南镇祥腾生活广场,8栋816室'],
    ['刘*', '河南省洛阳市城关镇人民路21号'],
    ['杨*凯', '湖北省武汉市中国地质大学北区1栋'],
    ['王*', '上海市浦东新区环桥路1137弄秀怡苑31号楼302'],
    ['夏*', '北京市朝阳区垂杨柳东里11号楼3单元402'],
    ['张*宇', '北京市海淀区中关村南大街6号中电信息大厦1207'],
    ['蔡*', '陕西省西安市凤城八路天朗御湖一号楼二单元(西门)'],
    ['高*', '新疆省乌鲁木齐市民主路99号建行大厦12楼审计室'],
    ['孙*园', '陕西省西安市丈八沟街道科技五路8号数字大厦'],
    ['王*亚', '北京市朝阳区华盛乐章b座1708'],
    ['李*博', '山东省淄博市索镇花园小区5#2单元202室'],
    ['方*', '北京市海淀区北洼西里33号清华同方研究院'],
    ['杨*东', '上海市闵行区梅陇镇高兴路高兴花园一街坊14号501'],
    ['袁*', '陕西省西安市高新四路南窑头东区22排11号'],
    ['王*', '天津市河北区建国道地铁站B口旁青创中心'],
    ['程*磊', '北京市西城区北三环中路27号商房大厦5楼'],
    ['陈*琦', '安徽省合肥市徽州大道与九华山路交叉口信旺九华国际2419'],
    ['刘*杰', '北京市大兴区亦庄经济开发区地盛北街1号35号楼2栋北京如风达快递有限公司'],
    ['侯*森', '北京市朝阳区北苑路潮驿178'],
    ['胡*辉', '浙江省杭州市瑞立东方花城2-2-503'],
    ['杨*平', '北京市昌平区沙河镇于辛庄村赋腾公寓'],
    ['黄*', '浙江省杭州市衢江路耀江福村3单元602'],
    ['李*', '上海市黄浦区黄浦区北京东路288弄66号甲,后门201室'],
    ['邹*', '安徽省淮北市南坪镇黄沟村邹圩庄'],
    ['刘*', '北京市昌平区沙河镇赋腾公寓E516'],
    ['彭*', '北京市望京SOHOt3  40层'],
    ['张*乾', '河南省周口市八一路人民路交叉口医药局家属楼'],
    ['贺*梦', '北京市通州区永顺镇世纪星城92号楼二单元'],
    ['冯*琴', '北京市海淀区金澳国际写字楼1115  中汇'],
    ['邓*亮', '湖北省武汉市云林街台北一路58号'],
    ['李*沙', '北京市昌平区城南街道北清路珠江摩尔国际大厦五号楼二单元906'],
    ['徐*瑞', '上海市徐汇区古美路1595号宝石园27号楼2楼D区'],
    ['梁*', '陕西省西安市电子二路18号(西安石油大学)'],
    ['徐*', '浙江省衢州市西区广电大楼'],
    ['雷*强', '河南省信阳市汪桥镇街道滨河花园A幢6208'],
    ['张*亮', '天津市河西区郁江道17号陈塘科技328'],
    ['陈*', '上海市浦东新区东方路1217号陆家嘴金融服务广场15楼'],
    ['郭*', '北京市昌平区北七家镇东三旗365号'],
    ['李*扬', '上海市浦东新区北蔡镇北艾路1500弄6号楼203'],
    ['汝*明', '吉林省长春市长春光机所研究生部D栋'],
    ['朱*懿', '上海市静安区陕西北路66号科恩国际中心1027室'],
    ['刘*', '上海市浦东新区五莲路 锦河苑'],
    ['任*荣', '陕西省西安市软件新城软件公寓'],
    ['王*', '上海市闵行区莲花路2080弄50号C幢3楼'],
    ['崔*斌', '北京市房山区阎村镇焦庄村四里'],
    ['王*强', '浙江省杭州市物联网街451号芯图大厦17楼'],
    ['姬*玲', '黑龙江省哈尔滨市长江路462号悦山国际c座1单元2501'],
    ['T*m', '上海市浦东新区浦东大道3040弄丽江锦庭1号楼'],
    ['李*宇', '黑龙江省绥化市十道街升平小区15号楼1单元102室'],
    ['董*', '河南省郑州市崇高路与嵩山路交叉口北黄河商务酒店'],
    ['杨*辉', '江苏省镇江市江苏大学F 区'],
    ['韩*鉴', '北京市门头沟区滨河路葡东小区七号楼4层D门'],
    ['罗*若', '陕西省西安市龙首北路宫园一号5号楼4单元'],
    ['王*', '北京市海淀区上地东路盈创动力大厦e座801c源清慧虹信息科技'],
    ['马*', '湖北省武汉市庙山中路10号名湖豪庭7栋1403'],
    ['常*峰', '山西省太原市迎新街'],
    ['侯*', '浙江省杭州市江陵路1541号'],
    ['许*娟', '上海市宝山区殷高西路高境二村177号502'],
    ['徐*飞', '湖北省武汉市潘塘街喻大村梅家大湾'],
    ['崔*腾', '辽宁省沈阳市虹桥路15号富雅豪临'],
    ['张*俊', '新疆省巴音郭楞州石化大道塔指1区25栋403'],
    ['严*', '北京市大兴区清源北路16号,校长大厦'],
    ['李*', '北京市大兴区十八里店乡横街子村64号柠檬家园B113'],
    ['于*佳', '北京市朝阳区郎园2号A座2层'],
    ['张*江', '北京市海淀区海淀区上地三街9号金隅嘉华大厦F座703室'],
    ['萌*', '北京市西城区金融街邮政集团公司'],
    ['张*宾', '河南省郑州市文治路泰祥投资集团楼下新锐广告'],
    ['彭*灿', '江苏省苏州市玉山镇印象欧洲17#606'],
    ['王*亮', '北京市朝阳区双营路11号美立方4号楼4单元602'],
    ['朱*伦', '北京市海淀区西三环中路19号海军大院西门顺丰快递'],
    ['杜*', '河北省石家庄市河北科技大学新校区26号'],
    ['董*', '北京市朝阳区雅宝路华声国际大厦'],
    ['朱*', '江苏省镇江市延陵镇'],
    ['段*', '山东省临沂市银雀山街道万阅城A座1207'],
    ['朱*', '北京市昌平区北京联合大学昌平校区'],
    ['陈*章', '北京市昌平区沙河镇白沙路汇德商厦老男孩教育'],
    ['肖*雅', '北京市昌平区沙河汇德商厦4楼老男孩儿教育'],
    ['赵*明', '北京市昌平区沙河顺沙路汇德商厦老男孩教育403'],
    ['邹*', '宁夏省银川市上海路福州街口云峰盛大药房'],
    ['袁*', '辽宁省锦州市辽宁省凌海市国庆路33B号2单元23室'],
    ['陈*', '浙江省杭州市昌化电站里56号骏程瓷砖店'],
    ['索*辉', '辽宁省沈阳市浑南区创新路117号东软医疗系统有限公司'],
    ['李*', '北京市大兴区天宫院地铁站熙悦春天小区'],
    ['张*', '陕西省西安市电子城街道高新领域4号楼'],
    ['王*', '山西省吕梁市一家庄小区三期五号楼'],
    ['钟*', '陕西省商洛市商洛学院'],
    ['薛*', '江苏省泰州市口岸街道向阳北路94号农商行'],
    ['张*强', '甘肃省兰州市北滨河西路666号(中国移动甘肃分公司)'],
    ['姚*飞', '上海市浦东新区成山路1728弄88号'],
    ['赵*宁', '浙江省金华市光南路898号金华移动公司'],
    ['张*昌', '北京市昌平区回龙观东大街 矩阵小区 11楼1单元1102室'],
    ['董*亨', '上海市嘉定区曹安公路4800号同济大学嘉定校区'],
    ['李*根', '北京市昌平区马连店4号楼2单元'],
    ['贾*新', '北京市海淀区学院路29号'],
    ['吕*', '浙江省舟山市高亭镇军民路106号'],
    ['张*东', '河南省周口市西华县基城高中'],
    ['李*东', '河北省石家庄市新石中路,物联网大厦10层'],
    ['韩*泰', '山东省青岛市青岛农业大学西苑'],
    ['邵*遥', '浙江省杭州市塘栖镇张家墩路65号博乐展具内'],
    ['李*泽', '河南省郑州市郑东新区龙子湖高校园区郑州信息科技职业学院'],
    ['沈*蕾', '浙江省杭州市下沙学源街中国计量大学'],
    ['冯*明', '上海市浦东新区张江路华夏中路 虹御公寓'],
    ['海*', '浙江省杭州市良渚街道大陆村邱家桥桥南3号'],
    ['刘*龙', '北京市通州区台湖镇次渠嘉园8区1号楼1705号'],
    ['王*宇', '河南省安阳市红旗路天宇国际三号楼四单元'],
    ['宋*波', '北京市海淀区龙翔路甲1号泰翔商务楼508'],
    ['周*萧', '北京市昌平区回龙观镇史各庄村176号'],
    ['梁*升', '吉林省吉林市承德街45号吉林化工学院'],
    ['陈*龙', '上海市浦东新区郭守敬路498号23号楼23215'],
    ['张*', '上海市徐汇区桂林路402号 诚达创意园76幢407室 银基科技'],
    ['何*畅', '河南省周口市西华县箕城高中'],
    ['欧*', '北京市丰台区东营里5号院8号楼2单元401'],
    ['张*', '陕西省西安市陕西西安思源学院'],
    ['曹*', '浙江省宁波市白沙街道新马路61弄江北区农林水利局'],
    ['陈*刚', '宁夏省银川市上海东路银佐家园东区11-1-501'],
    ['喻*明', '湖北省武汉市徐东'],
    ['陈*余', '北京市海淀区甘家口街道阜成路北二街阜光里小区7号楼二单元102'],
    ['刘*博', '山西省太原市小店区平阳路42号山西省自动化研究所'],
    ['王*', '北京市大兴区亦庄经济技术开发区大族广场T5,6层洪泰空间c033'],
    ['褚*文', '湖北省武汉市明伦正街明伦生鲜市场9号'],
    ['乔**', '河北省衡水市香榭丽都2号楼1单元 2603'],
    ['貟*杰', '上海市宝山区上海市宝山区陆翔路678弄62号903'],
    ['甘*德', '北京市海淀区四季青杏石口路甲18号航天信息园'],
    ['杨*奖', '北京市东城区东单北大街1号国旅大厦502'],
    ['李*', '北京市海淀区北京市海淀区中关村南大街9号理工科技大厦207'],
    ['刘*', '浙江省杭州市紫荆花路金月巷嘉禾花苑'],
    ['刘*亮', '北京市朝阳门'],
    ['聂*敏', '上海市浦东新区高博路188弄1号楼1903室'],
    ['刘*正', '山东省青岛市流亭街道洼里社区八号楼尚美美发'],
    ['杨*强', '陕西省西安市枣园路万科金色悦城'],
    ['聂*', '湖北省武汉市台银大厦1单位1楼'],
    ['刘*', '上海市闵行区闵驰一路29弄3号1101'],
    ['郭*', '青海省西宁市互助东路12号海亮大都汇'],
    ['芦*坤', '北京市朝阳区北京工人体育场3号看台2号楼1706'],
    ['晋*林', '上海市杨浦区隆昌路619号城市概念10号b座'],
    ['董*', '浙江省杭州市丰潭路城西银泰E2幢10楼'],
    ['刘*', '湖北省武汉市中国地质大学(北区)'],
    ['马*', '河北省保定市保定市南市区朝阳南大街哈弗技术中心2076号包裹站'],
    ['王*超', '黑龙江省哈尔滨市永泰城3号楼1单位1304'],
    ['孙*敏', '北京市昌平区北京市昌平区沙河于辛庄于辛家园1号楼1单元'],
    ['郑*龙', '河南省郑州市花园路国基路花园SOHO2栋'],
    ['李*', '北京市昌平区流星花园三区11号楼4单元401室'],
    ['李*', '浙江省杭州市金岸提香3幢1单元1303'],
    ['庄*峰', '北京市海淀区慧科大厦'],
    ['马*', '北京市朝阳区惠新东街11号紫光发展大厦A座12层'],
    ['朱*', '北京市海淀区东升镇宝盛东路奥北科技园领智中心B座5层'],
    ['吴*峰', '湖北省武汉市幸福路鸿福花园1栋3006'],
    ['付*诚', '北京市海淀区观林园'],
    ['滕*', '江苏省南京市秣周东路11号双子楼9号楼15楼君度科技'],
    ['石*刚', '辽宁省大连市大连市经济技术开发区福泉北路20号'],
    ['程*', '北京市昌平区沙河兆丰家园'],
    ['武*', '北京市昌平区回龙观西大街龙腾苑五区16号楼1单元202'],
    ['郭*欣', '北京市西城区阜成门 万通新世界 B座1503'],
    ['毛*', '陕西省西安市高新六路万象汇B座'],
    ['龙*宇', '山东省青岛市山东省青岛市市南区青岛啤酒大厦403'],
    ['郅*', '北京市顺义区后沙峪清岚花园西区15号楼一单元502'],
    ['蔡*芝', '江苏省南京市新模范马路五号南京工业大学国家科技园 A2405'],
    ['王*飞', '江苏省苏州市工业园区雪堂街1号,善行楼17栋'],
    ['葛*光', '北京市海淀区复兴路甲23号华能大厦'],
    ['胡*鑫', '天津市和平区河南路63号'],
    ['陶*东', '浙江省宁波市杭州湾新区滨海四路777号b-4'],
    ['王*庆', '上海市静安区万荣路700号A1 SINODIS食品有限公司'],
    ['刘*闯', '北京市东城区东中街58号美惠大厦B座2单元1层MH-Z-0005'],
    ['李*', '上海市闵行区航北路228弄142号202'],
    ['林*春', '河南省郑州市河南中医药大学龙子湖校区'],
    ['张*春', '陕西省延安市李渠镇阳山村延安北铁路小区'],
    ['李*', '浙江省杭州市文三西路52号建投大厦'],
    ['李*', '河南省郑州市红旗路6号华图教育'],
    ['徐*麒', '河南省洛阳市河南科技大学开元校区'],
    ['陈*', '江苏省苏州市伟业迎春华府'],
    ['张*', '北京市北京亦庄经济开发区地泽北街1号朗致集团'],
    ['伍*葵', '新疆省阿克苏地区红旗坡十一队'],
    ['王*操', '上海市浦东新区亮秀路72号X座6楼'],
    ['孙*强', '湖北省宜昌市大学路8号三峡大学'],
    ['王*军', '山东省临沂市九曲街道格瑞斯小镇'],
    ['郭*', '天津市西青区侯台碧水家园e区'],
    ['聂*双', '北京市海淀区柳浪家园东里5号楼3单元801室'],
    ['安*', '辽宁省沈阳市青山路亚都名苑3期逸林14号楼1-11-2'],
    ['戴*', '浙江省杭州市乔司街道花漫里8幢3单元101'],
    ['米*俊', '陕西省西安市太白新苑'],
    ['周*祺', '河南省新乡市新辉路街道建设西路保温瓶厂家属院向西100米新中批发'],
    ['丁*', '山西省运城市运城宾馆对面北大青鸟'],
    ['文*宇', '湖北省宜昌市三峡大学欣苑'],
    ['王*', '北京市海淀区北清路68号用友软件园'],
    ['张*君', '山东省青岛市上清路16号甲,青岛东软载波科技股份有限公司'],
    ['正*', '山东省济南市经十路20188号'],
    ['李*晓', '北京市朝阳区国际电子城总部360发票A座收发室'],
    ['丁*涛', '江苏省苏州市子胥路新峰工业小区11栋苏州三川'],
    ['A*yua*', '上海市浦东新区华佗路1号'],
    ['夏*捷', '陕西省西安市西安邮电大学'],
    ['郭*坤', '山东省济宁市济宁学院男生宿舍'],
    ['杨*星', '湖北省武汉市江夏大道18号梅兰山居碧水轩'],
    ['唐*宁', '新疆省乌鲁木齐市乌鲁木齐头屯河区火车西站6街'],
    ['田*', '上海市黄浦区马当路388号SOHO复兴广场E栋2楼R13A'],
    ['覃*', '湖北省武汉市南李路55号'],
    ['杨*', '北京市朝阳区光华路甲8号和侨大厦B座508'],
    ['梁*雷', '北京市海淀区王庄路1号,清华同方科技广场B2006'],
    ['李*', '湖北省武汉市东湖高新南湖大道182号'],
    ['曹*伟', '江苏省南京市安德门大街57号楚翘城1号楼4层'],
    ['郭*铠', '山西省太原市南中环西街万年花城7号楼2单元401'],
    ['李*生', '江苏省南京市江山路明发3期332栋603室'],
    ['许*辰', '河南省郑州市丰产路111号河南省国家税务局8楼信息中心'],
    ['姚*超', '北京市昌平区TBD云集中心1号楼5层'],
    ['张*', '山东省青岛市山东科技大学'],
    ['高*锐', '山东省济南市经十路万科金域中心a座'],
    ['严*', '安徽省合肥市双凤开发区阜阳北路与魏武路交叉口西南角北部湾小区'],
    ['李*春', '山东省德州市德州职业技术学院'],
    ['张*豪', '河南省南阳市河南省南阳市宛城区第七小学邮政家属院对面的楼七一搬运站'],
    ['康*', '北京市朝阳区垡头东里百斯特大厦A663'],
    ['陈*', '江苏省南京市文苑路9号南京邮电大学'],
    ['柴*虎', '北京市昌平区北七家镇顺玮阁小区'],
    ['韩*', '辽宁省葫芦岛市小庄子乡宝仓村'],
    ['魏*森', '北京市昌平区于辛庄路,赋腾国创中心,2楼'],
    ['邓*明', '北京市丰台区新华街三里1号楼305'],
    ['赵*', '上海市宝山区宝山区高境镇高境一村11号后3号车库'],
    ['徐*亮', '北京市海淀区花园东路11号泰兴大厦302'],
    ['张*凡', '北京市昌平区沙河镇松兰堡迎客家园507'],
    ['赵*', '北京市北京市海淀区农大国际创业园b区6065'],
    ['顾*天', '北京市海淀区上地东路1号华控大厦'],
    ['丁*', '上海市杨浦区安波路533弄硕和商务2号楼1102'],
    ['封*号', '江苏省苏州市陆家镇陆丰东路199号水岸香堤2#2309'],
    ['王*哲', '上海市静安区曲沃路430弄15号401'],
    ['刘**', '湖北省武汉市左岭镇 武汉华星光电一号门'],
    ['付*', '安徽省合肥市长江西路305号电信新技术楼'],
    ['鲁*', '湖北省武汉市武大科技园宏业楼C座'],
    ['张*', '北京市朝阳区小营路13号亚非大厦7层8704室'],
    ['齐*', '湖北省武汉市珞喻路马家庄'],
    ['王*', '北京市海淀区北坞嘉园北里9号楼三单元D01'],
    ['陈*龙', '北京市朝阳区北卫新园'],
    ['曹*生', '江苏省无锡市澄南花苑'],
    ['沈*', '北京市海淀区中关村南大街甲18号北京国际大厦D座7层'],
    ['续*', '山西省晋中市中都广场12层畅快车贷'],
    ['赵*全', '河北省唐山市李钊庄镇大王庄村'],
    ['成*', '上海市虹口区东五小区641号楼2007'],
    ['方*', '上海市闵行区联航路1399弄28号1103室'],
    ['曹*', '上海市浦东新区向城路15号24C'],
    ['韩*德', '北京市大兴区枣园北里小区1号楼8单元202'],
    ['金*鹏', '浙江省温州市温州职业技术学院生活区快递中心'],
    ['陶*明', '浙江省嘉兴市南溪路桂苑小区23幢603'],
    ['李*ir', '北京市丰台区南苑乡 德鑫家园9号楼5单元50'],
    ['姜*杰', '山东省临沂市凤凰岭大街惠民早餐'],
    ['l*xq', '辽宁省沈阳市卫工南街4-4网点2门瀚辰跆拳道'],
    ['赵*', '河北省邯郸市幸福街于联防路交叉口北行幸福馨苑'],
    ['张*锋', '内蒙古省呼和浩特市双河镇莹昱佳苑商铺A段13号(防汛东巷莲爱粮油副食门市)'],
    ['胡*', '北京市西城区鸭子桥路24号'],
    ['王*鲲', '北京市延庆区东外小区15号楼一单元101'],
    ['马*闻', '陕西省西安市西安邮电大学东门'],
    ['许*', '安徽省合肥市宿松路紫竹苑B区2栋2单元602室'],
    ['范*', '浙江省金华市金华职业技术学院'],
    ['马*铎', '山西省太原市徐沟镇山西警察学院'],
    ['武*文', '上海市浦东新区浦东新区盛夏路738弄樟盛苑32号楼一楼'],
    ['陈*', '江苏省徐州市苏堤北小区四号楼三单元702室'],
    ['曹*政', '辽宁省大连市大连理工大学软件学院'],
    ['张*超', '山东省济南市八一立交桥西南角联通公司3号楼'],
    ['唐*生', '山东省济南市工业南路鑫苑国际城市花园'],
    ['严*鹏', '上海市杨浦区五角场街道 国定路277弄铁村小区13号601'],
    ['张**', '甘肃省兰州市甘肃省兰州市七里河区兰公坪兰州理工大学校本部'],
    ['麻*肖', '安徽省宿州市香格里拉108幢'],
    ['刘*仪', '河北省廊坊市燕郊经济开发区 华北科技学院'],
    ['刘*龙', '河南省洛阳市新一中文印室'],
    ['李*', '陕西省西安市临潼区西安科技大学'],
    ['相**', '北京市昌平区天通公园里'],
    ['康*熙', '山西省忻州市万人商厦对面联想专卖店'],
    ['张*栋', '山东省泰安市安驾庄镇上前'],
    ['陶*', '安徽省宣城市鳌峰东路180号宣城皖南农商银行413室'],
    ['艾*麦提江·拜克热', '浙江省杭州市浦沿街道江畔云卢4幢2单元1202'],
    ['王*', '上海市浦东新区福山路455号,全华信息大厦,1楼,平安银行'],
    ['刘*林', '湖北省宜昌市枝城镇大堰村四组'],
    ['罗*', '河南省信阳市西关黄国新城C6'],
    ['莫*', '河南省郑州市金水区76号9202'],
    ['徐*龙', '安徽省合肥市长江西路新加坡花园城4联排'],
    ['杨*杰', '山西省忻州市京原南路雷神网咖'],
    ['朱*北', '海南省海口市和平北路三亚上二街9号'],
    ['朱*', '浙江省杭州市龙湖春江郦城'],
    ['常*磊', '北京市海淀区学院南路59号'],
    ['王*阳', '江苏省南京市南京江宁21世纪现代城'],
    ['谢*星', '甘肃省酒泉市雄关路54号东风物流十号'],
    ['侯*', '河南省郑州市河南省郑州市高新区莲花街牡丹路西雅图荣邦城'],
    ['孙*康', '江苏省南京市化工园方水东路9号'],
    ['索*华', '北京市昌平区北七家镇东三旗村委会'],
    ['王*', '陕西省西安市十里铺街长力小区北门对面(王家辣子面)'],
    ['姜*生', '北京市朝阳区东大桥宫宵国际1103'],
    ['顾*生', '安徽省阜阳市清河西路100号阜阳师范学院'],
    ['申*伟', '上海市青浦区巷佳华苑三期10号楼904室'],
    ['刘*', '湖北省武汉市左岭新城1社区15栋'],
    ['单*成', '山东省日照市日照职业技术学院'],
    ['韩*红', '上海市杨浦区隆昌路619号10号楼二楼'],
    ['魏*琪', '北京市丰台区汉威国际广场4区12号楼'],
    ['杨*康', '北京市丰台区丰台科技园汉威广场12栋'],
]

province_data = {}

# step2
for i in Data_list:
    #获取省名
    if '省' in i[1]: #'省'和'市' 都在子列表中
        idx = i[1].index('省') + 1
        where = i[1][:idx] #存储用户信息
    #获取直辖市名
    else:
        idx = i[1].index('市') + 1
        where = i[1][:idx]
    #判断省或者市是不是字典里的关键字,不是,则新建,是就直接添加
    if where not in province_data: #在字典中未出现过则添加 键
        province_data[where] = []  #添加新的键
        province_data[where].append(i)
    else:
        province_data[where].append(i)

# step3
# # 打印分练结果,要格式化输出
print('{')
for i in province_data:
    print('\t'+i+':[')
    for j in province_data[i]:
        print('\t\t'+str(j))
    print('\t],')
print('}')

5. 文件操作

5.1 python操作⽂件流程

⽤word操作⼀个⽂件的流程如下:

  1. 找到⽂件,双击打开
  2. 读或修改
  3. 保存&关闭

⽤python操作⽂件也差不多:

f = open(filename) #打开文件f.writr("我是精灵宝可梦训练师") #写操作f.read() #读操作f.close()#保存并关闭

不过有⼀点跟⼈⾁操作word⽂档不同,就是word⽂档只要打开了,就即可以读、⼜可以修改。 但 Python⽐较变态,只能以读、创建、追加 3种模式中的任意⼀种打开⽂件,不能即写⼜读。

5.2 ⽂件打开模式(⽂本模式)

  • \(r\) 只读模式
  • \(w\) 创建模式,若⽂件已存在,则覆盖旧⽂件
  • \(a\) 追加模式,新数据会写到⽂件末尾

5.3 创建文件

f = open(file = 'D:/工作日常/staff.txt',mode = 'w') #若文件已经存在,则覆盖f.write("RioTian Newbie 600\n")f.write("demo demo 100\n")f,close()

5.4 只读模式

文件名,以及内容纯属搞笑,并无它意。

f = open(file = "兼职白领学生空姐联系方式.txt",mode = 'r')print(f.readline()) #读一行print('------分隔符------')data = f.read() #读所有,剩下的所有print(data)f.close()

执行输出

⻢纤⽻ 深圳 173 50 13744234523 # print(f.readline()) # 读⼀⾏------分隔符-------乔亦菲 ⼴州 172 52 15823423525 # f.read() # 读所有,剩下的所有罗梦⽵ 北京 175 49 18623423421刘诺涵 北京 170 48 18623423765岳妮妮 深圳 177 54 18835324553贺婉萱 深圳 174 52 18933434452叶梓萱 上海 171 49 18042432324 #数据纯属虚构,不与任何真实人物挂钩

5.5 追加模式

f = open(file = "兼职白领学生空姐联系方式.txt",mode = 'a')f.write('黑姑娘 北京 160 48\n') #会追加到文件的末尾f.close()

5.6 循环文件

数据源

⻢纤⽻ 深圳 173 50 13744234523乔亦菲 ⼴州 172 52 15823423525罗梦⽵ 北京 175 49 18623423421刘诺涵 北京 170 48 18623423765岳妮妮 深圳 177 54 18835324553贺婉萱 深圳 174 52 18933434452叶梓萱 上海 171 49 18042432324

5.7 练习:股票查询程序开发

股票查询程序开发

把以下股票数据存入stock_data.txt

数据来源:东方财富网

开发程序对stock_data.txt进行以下操作:

程序启动后,给用户提供查询接口,允许用户重复查股票行情信息(用到循环)

允许用户通过模糊查询股票名,比如输入“啤酒”, 就把所有股票名称中包含“啤酒”的信息打印出来

允许按股票价格、涨跌幅、换手率这几列来筛选信息,比如输入“价格>50”则把价格大于50的股票都打印,输入“市盈率<50“,则把市盈率小于50的股票都打印,不用判断等于。

思路提示:加载文件内容到内存,转成dict or list结构,然后对dict or list 进行查询等操作。 这样以后就不用每查一次就要打开一次文件了,效率会高。

数据源:

股票代码,股票名称,当前价,涨跌额,涨跌幅,年初至今,成交量,成交额,换手率,市盈率(TTM),股息率,市值SH601778,N晶科,6.29,+1.92,+43.94%,+43.94%,259.66万,1625.52万,0.44%,22.32,-,173.95亿SH688566,吉贝尔,52.66,+6.96,+15.23%,+122.29%,1626.58万,8.09亿,42.29%,89.34,-,98.44亿SH688268,华特气体,88.80,+11.72,+15.20%,+102.51%,622.60万,5.13亿,22.87%,150.47,-,106.56亿SH600734,实达集团,2.60,+0.24,+10.17%,-61.71%,1340.27万,3391.14万,2.58%,亏损,0.00%,16.18亿SH900957,凌云B股,0.36,+0.033,+10.09%,-35.25%,119.15万,42.10万,0.65%,44.65,0.00%,1.26亿SZ000584,哈工智能,6.01,+0.55,+10.07%,-4.15%,2610.86万,1.53亿,4.36%,199.33,0.26%,36.86亿SH600599,熊猫金控,6.78,+0.62,+10.06%,-35.55%,599.64万,3900.23万,3.61%,亏损,0.00%,11.25亿SH600520,文一科技,8.21,+0.75,+10.05%,-24.05%,552.34万,4464.69万,3.49%,亏损,0.00%,13.01亿SH603682,锦和商业,11.73,+1.07,+10.04%,+48.29%,2746.63万,3.15亿,29.06%,29.62,-,55.42亿SZ300831,派瑞股份,12.27,+1.12,+10.04%,+208.29%,25.38万,311.41万,0.32%,60.59,-,39.26亿SH900939,汇丽B,0.504,+0.046,+10.04%,-23.52%,123.86万,61.86万,1.41%,52.80,0.00%,9147.60万SH600880,博瑞传播,4.39,+0.40,+10.03%,+10.03%,1117.75万,4816.57万,1.02%,95.87,0.50%,48.00亿SZ000609,中迪投资,7.68,+0.70,+10.03%,+39.64%,2663.08万,2.00亿,9.12%,58.84,0.00%,22.98亿SZ300328,宜安科技,15.80,+1.44,+10.03%,+7.19%,432.45万,6832.68万,0.95%,64.80,0.51%,72.72亿SZ002988,豪美新材,17.33,+1.58,+10.03%,+58.41%,3.50万,60.68万,0.06%,24.42,-,40.34亿SZ000615,京汉股份,4.61,+0.42,+10.02%,+4.06%,518.09万,2388.41万,0.69%,亏损,0.00%,36.06亿SZ300443,金雷股份,18.33,+1.67,+10.02%,+32.74%,987.25万,1.75亿,6.19%,18.78,1.08%,43.64亿SH600506,香梨股份,11.42,+1.04,+10.02%,+11.96%,1039.48万,1.18亿,7.04%,亏损,0.00%,16.87亿SZ300505,川金诺,15.61,+1.42,+10.01%,-11.26%,493.54万,7555.40万,6.03%,26.70,0.85%,20.40亿SZ300830,金现代,14.95,+1.36,+10.01%,+239.77%,63.66万,951.76万,0.74%,70.76,0.00%,64.30亿SH603630,拉芳家化,17.26,+1.57,+10.01%,+27.85%,949.49万,1.60亿,4.19%,209.44,0.83%,39.13亿SZ002655,共达电声,11.43,+1.04,+10.01%,-14.64%,1683.51万,1.88亿,4.68%,166.69,0.00%,41.15亿SZ300460,惠伦晶体,16.59,+1.51,+10.01%,+0.97%,430.28万,6974.52万,2.56%,亏损,0.00%,27.92亿SH603929,亚翔集成,20.33,+1.85,+10.01%,+33.40%,1373.66万,2.76亿,6.44%,84.29,1.25%,43.38亿SH603392,万泰生物,35.97,+3.27,+10.00%,+311.09%,6.92万,248.91万,0.16%,65.24,-,155.97亿SZ000788,北大医药,6.82,+0.62,+10.00%,+2.40%,832.44万,5583.87万,1.40%,89.69,0.32%,40.65亿SH601609,金田铜业,10.89,+0.99,+10.00%,+66.26%,4027.64万,4.28亿,16.64%,32.38,0.32%,158.66亿SZ000403,双林生物,52.48,+4.77,+10.00%,+62.48%,171.75万,9013.54万,0.63%,88.80,0.23%,143.05亿SZ300832,新产业,72.80,+6.62,+10.00%,+131.92%,10.73万,780.85万,0.26%,40.20,0.62%,299.64亿SZ002985,北摩高科,92.58,+8.42,+10.00%,+310.92%,2422.97万,21.55亿,64.54%,60.48,1.08%,139.02亿SH603348,文灿股份,18.06,+1.64,+9.99%,-25.15%,357.86万,6328.87万,4.39%,89.39,0.89%,41.83亿SH603900,莱绅通灵,8.92,+0.81,+9.99%,-5.61%,1364.10万,1.15亿,4.01%,43.78,5.06%,30.37亿SH603042,华脉科技,17.85,+1.62,+9.98%,+17.05%,491.44万,8705.99万,4.86%,128.50,0.31%,24.28亿SZ300260,新莱应材,19.83,+1.80,+9.98%,+68.48%,1800.45万,3.48亿,14.16%,65.15,0.73%,40.04亿SZ000557,西部创业,3.42,+0.31,+9.97%,-0.87%,2751.17万,9408.89万,1.89%,79.39,0.00%,49.88亿SZ300716,国立科技,9.94,+0.90,+9.96%,-4.24%,142.25万,1413.92万,1.50%,亏损,0.29%,15.91亿SZ002449,国星光电,11.92,+1.08,+9.96%,-6.80%,5185.52万,6.03亿,8.53%,21.51,2.73%,73.72亿

代码实现:

在step3上使用的正则表达式知识,大家可以先参考一下 C++ 的用法 20.9.16尚未更新python正则表达式语法

python正则表达式使用方法:Here

# 1. 把股票数据加载到内存,存成Dict格式# 2. 实现模糊查询# 3. 处理复杂查询 , 比如 , 当前价>50  . ddd>333#     3.1 进行语法的合法性验证,#             难证列名合法、验证符号合法、验证符号右边的值合法import ref = open("stock_data.txt")headers = f.readline().strip().split(",") # 先把列名存下来#同时读入headers以后 stock_dic存的就是真实的股票信息,而不含有列名stock_dic = {    #SH601778:[SH601778,N晶科,6.29,+1.92,+43.94%,+43.94%,259.66万,1625.52万,0.44%,22.32,-,173.95亿}for line in f:    line = line.strip().split(",")    stock_dic[line[0]] = linevalid_cols = ["当前价","涨跌幅","换手率"]  # 合法的可供查询的列while True:    cmd = input("输入要查询的股票>>:").strip()    if not cmd: continue    # step 2 模糊查询    print(headers)    for sid,s_data in stock_dic.items():        s_name = s_data[1]        if cmd in s_name: # 匹配上了            print(s_data)    # step 3 复杂公式处理, a = 当前价>50        # 1.难证公式基本合法        # 2.难证列名合法、        # 3.验证符号合法        # 4.验证符号右边的值合法    # step 4 , 拿到要查的列名的下标,然后循环每行,找对应的列进行判断    syntax_parser = re.split("[<>]",cmd)    if len(syntax_parser) == 2: # step 3.1  公式基本合法        filter_column,filter_val = syntax_parser        if filter_column in valid_cols: # step 3.2            try:                filter_val = float(filter_val) # step 3.4 , 有可能 报错                filter_col_index = headers.index(filter_column)  # step 4, 取到列名下标                for sid,s_data in stock_dic.items():                    real_filter_col_val = float(s_data[filter_col_index].strip("%")) # 取到每列的实际的数值. 转float有可能出错                    if ">" in cmd: # 当前价>50                        if real_filter_col_val  > filter_val: # 匹配上了                            print(s_data)                    if "<" in cmd: # 当前价< 50                        if real_filter_col_val < filter_val: # 匹配上了                            print(s_data)            except ValueError as e:                print("出错了:",e)

6. 函数设计

6.1 lambda 表达式

转自Goodpypython lambda介绍

在学习python的过程中,lambda的语法时常会使人感到困惑,lambda是什么,为什么要使用lambda,是不是必须使用lambda?

下面就上面的问题进行一下解答。

  1. lambda是什么?

看个例子:

g = lambda x:x+1

看一下执行的结果:

g(1)>>>2g(2)>>>3

当然,你也可以这样使用:

lambda x:x+1(1)>>>2

可以这样认为,lambda作为一个表达式,定义了一个匿名函数,上例的代码x为入口参数,x+1为函数体,用函数来表示为:

def g(x):2 return x+1

非常容易理解,在这里lambda简化了函数定义的书写形式。是代码更为简洁,但是使用函数的定义方式更为直观,易理解。

Python中,也有几个定义好的全局函数方便使用的,filter, map, reduce:

>>> foo = [2, 18, 9, 22, 17, 24, 8, 12, 27]>>>>>> print filter(lambda x: x % 3 == 0, foo)[18, 9, 24, 12, 27]>>> >>> print map(lambda x: x * 2 + 10, foo)[14, 46, 28, 54, 44, 58, 26, 34, 64]>>>>>> print reduce(lambda x, y: x + y, foo)139

上面例子中的map的作用,非常简单清晰。但是,Python是否非要使用lambda才能做到这样的简洁程度呢?在对象遍历处理方面,其实Python的for..in..if语法已经很强大,并且在易读上胜过了lambda。

比如上面map的例子,可以写成:

print [x * 2 + 10 for x in foo]

非常的简洁,易懂。

filter的例子可以写成:

print [x for x in foo if x % 3 == 0]

同样也是比lambda的方式更容易理解。
上面简要介绍了什么是lambda,下面介绍为什么使用lambda,看一个例子(来自apihelper.py):

processFunc = collapse and (lambda s: " ".join(s.split())) or (lambda s: s)

在Visual Basic,你很有可能要创建一个函数,接受一个字符串参数和一个 collapse 参数,并使用 if语句确定是否压缩空白,然后再返回相应的值。这种方式是低效的,因为函数可能需要处理每一种可能的情况。每次你调用它,它将不得不在给出你所想要的东西之前,判断是否要压缩空白。在 Python 中,你可以将决策逻辑拿到函数外面,而定义一个裁减过的 lambda函数提供确切的 (唯一的) 你想要的。这种方式更为高效、更为优雅,而且很少引起那些令人讨厌 (哦,想到那些参数就头昏) 的错误。

通过此例子,我们发现,lambda的使用大量简化了代码,使代码简练清晰。但是值得注意的是,这会在一定程度上降低代码的可读性。如果不是非常熟悉python的人或许会对此感到不可理解。

  1. lambda 定义了一个匿名函数
  2. lambda 并不会带来程序运行效率的提高,只会使代码更简洁。
  3. 如果可以使用for...in...if来完成的,坚决不用lambda。
  4. 如果使用lambda,lambda内不要包含循环,如果有,我宁愿定义函数来完成,使代码获得可重用性和更好的可读性。

总结:lambda 是为了减少单行函数的定义而存在的。

6.2 语法定义 & 函数特性

函数是什么?

函数⼀词来源于数学,但编程中的「函数」概念,与数学中的函数是有很⼤不同的,具体区别,我们后 ⾯会讲,编程中的函数在英⽂中也有很多不同的叫法。在BASIC中叫做subroutine(⼦过程或⼦程序), 在C中只有function,在Java⾥⾯叫做method。

定义: 函数是指将⼀组语句的集合通过⼀个名字(函数名)封装起来,要想执⾏这个函数,只需调⽤其函数名即可。

特性:

  1. 减少重复代码
  2. 使程序变的可扩展
  3. 使程序变得易维护 语法定义
语法定义
def sayhi():#函数名 	print("Hello, I'm nobody!")sayhi() #调⽤函数

可以带参数

def calc(x,y): 	res = x**y 	print(res) #函数执⾏结果calc(5,22)

参数可以让你的函数更灵活,不只能做死的动作,还可以根据调⽤时传参的不同来决定函数内部的执⾏ 流程

6.3 各种参数

形参变量

只有在被调⽤时才分配内存单元,在调⽤结束时,即刻释放所分配的内存单元。因此,形参只在函数内 部有效。函数调⽤结束返回主调⽤程序代码后则不能再使⽤该形参变量

实参

可以是变量、任意数据类型、表达式、函数等,⽆论实参是何种类型的量,在进⾏函数调⽤时,它们都 必须有确定的值,以便把这些值传送给形参。因此应预先给实参赋值

默认参数

看如下代码

def stu_register(name,age,country,course): 	print("----注册学⽣信息------") 	print("姓名:",name) 	print("age:",age) 	print("国籍:",country) 	print("课程:",course)stu_register("王⼭炮",22,"CN","python_devops")stu_register("张叫春",21,"CN","linux")stu_register("刘⽼根",25,"CN","linux")

发现 country 这个参数 基本都 是”CN”, 就像我们在⽹站上注册⽤户,像国籍这种信息,你不填写,默认 就会是 中国, 这就是通过默认参数实现的,把country变成默认参数⾮常简单

def stu_register(name,age,course,country="CN"):

这样,这个参数在调⽤时不指定,那默认就是CN,指定了的话,就⽤你指定的值。

另外,你可能注意到了,在把country变成默认参数后,我同时把它的位置移到了最后⾯,为什么呢?  

这是语法强制的,默认参数放在其他参数后边,为啥呢? 假设允许这样:

def stu_register(name,age,country="CN",course):

那调⽤时

stu_register("Mack",22,"Python","US")

你告诉我,第3个参数 python 到底应该给到 country还是course呢? ⽆论给哪个,都会出现歧义,所以 Python语法⼲脆就让你把默认参数放最后, 解释器在处理函数时参数时,按优先级,位置参数>默认参 数

关键参数(指定参数)

正常情况下,给函数传参数要按顺序,不想按顺序就可以⽤关键参数,只需指定参数名即可(指定了参数 名的参数就叫关键参数),但记住⼀个要求就是,关键参数必须放在位置参数(以位置顺序确定对应关系 的参数)之后

def stu_register(name, age, course='PY' ,country='CN'):
 	print("----注册学⽣信息------")
 	print("姓名:", name)
 	print("age:", age)
 	print("国籍:", country)
 	print("课程:", course)

调⽤可以这样

stu_register("王⼭炮",course='PY', age=22,country='JP' )

但绝不可以这样

stu_register("王⼭炮",course='PY',22,country='JP' )

当然这样也不⾏

stu_register("王⼭炮",22,age=25,country='JP' )

这样相当于给age赋值2次,会报错!

注意,参数优先级顺序是 位置参数>关键参数

⾮固定参数

若你的函数在定义时不确定⽤户想传⼊多少个参数,就可以使⽤⾮固定参数

def stu_register(name,age,*args): # *args 会把多传⼊的参数变成⼀个元组形式 	print(name,age,args)stu_register("Alex",22)#输出#Alex 22 () #后⾯这个()就是args,只是因为没传值,所以为空stu_register("Jack",32,"CN","Python")#输出# Jack 32 ('CN', 'Python')

还可以有⼀个 **kwargs 序列解包

def stu_register(name,age,*args,**kwargs): # *kwargs 会把多传⼊的参数变成⼀个dict形式 print(name,age,args,kwargs)stu_register("Alex",22)#输出#Alex 22 () {}#后⾯这个{}就是kwargs,只是因为没传值,所以为空stu_register("Jack",32,"CN","Python",sex="Male",province="ShanDong")#输出# Jack 32 ('CN', 'Python') {'province': 'ShanDong', 'sex': 'Male'}
练习题

1.根据下图所示,对print_info⾥的代码进⾏实现

6.4 返回值return

函数外部的代码要想获取函数的执⾏结果,就可以在函数⾥⽤return语句把结果返回

def stu_register(name, age, course='PY' ,country='CN'): 	print("----注册学⽣信息------") 	print("姓名:", name) 	print("age:", age) 	print("国籍:", country) 	print("课程:", course) 	if age > 22: 		return False 	else: 		return Trueregistriation_status = stu_register("王⼭炮",22,course="PY全栈开发",country='JP')if registriation_status: 	print("注册成功")else: 	print("too old to be a student.")

注意

  • 函数在执⾏过程中只要遇到return语句,就会停⽌执⾏并返回结果,so 也可以理解为 return 语句代表着函数的结束
  • 如果未在函数中指定return,那这个函数的返回值为None

6.5 局部变量与全局变量

看如下代码

name = "RioTian"def change_name(): 	name = "RT, ⼀个有Tesla的⾼级屌丝" 	print("after change", name)change_name()print("在外⾯看看name改了么?",name)

输出

after change RT, ⼀个有Tesla的⾼级屌丝在外⾯看看name改了么? RioTian

为什么在函数内部改了name的值后, 在外⾯print的时候却没有改呢? 因为这两个name根本不是⼀回事

  • 在函数中定义的变量称为局部变量,在程序的⼀开始定义的变量称为全局变量。
  • 全局变量作⽤域(即有效范围)是整个程序,局部变量作⽤域是定义该变量的函数。
  • 变量的查找顺序是局部变量>全局变量
  • 当全局变量与局部变量同名时,在定义局部变量的函数内,局部变量起作⽤;在其它地⽅全局变量起作⽤。
  • 在函数⾥是不能直接修改全局变量的
就是想在函数⾥修改全局变量怎么办?
name = "RioTian"def change_name(): 	global name #global 声明⼀个全局变量 	name = "RioTian ⼜名橘天,爱⽣活、爱⾃由、爱姑娘" 	print("after change", name)change_name()print("在外⾯看看name改了么?", name)

global name 的作⽤就是要在函数⾥声明全局变量name ,意味着最上⾯的 name = “RioTian” 即使 不写,程序最后⾯的print也可以打印name 虽然可以改,但不建议⽤这个global语法,随着代码增多 ,会造成代码调试困难

虽然可以改,但不建议⽤这个global语法,随着代码增多 ,会造成代码调试困难

传递列表、字典产⽣的现象 (Alex老师的讲解笔记)
d = {"name":"Alex","age":26,"hobbie":"⼤保健"}l = ["Rebeeca","Katrina","Rachel"]def change_data(info,girls): 	info["hobbie"] = "学习" 	girls.append("XiaoYun")change_data(d,l)print(d,l)

输出

{'name': 'Alex', 'age': 26, 'hobbie': '学习'} ['Rebeeca', 'Katrina', 'Rachel', 'XiaoYun']

不是说不能在函数⾥改全局变量么,怎么改了呀?

根据上图我们能看出, 程序只是把d这个dict的内存地址传给了change_data函数,把dict⽐作⻥缸,⾥ ⾯的k,v⽐作缸⾥装的⻥。现在只是把⻥缸丢给了函数,这个⻥缸本身你不能改,但是⾥⾯的⻥可以。 相当于只是传了⼀个对这个d的引⽤关系给到函数的形参。这样是为了减少内存的浪费,因为如果这个 dict⽐较⼤,传⼀次到函数⾥就要copy⼀份新的值的话,效率太低了。

6.6 内置函数

Python的 len 为什么你可以直接⽤?肯定是解释器启动时就定义好了

画红线的是咱们这个集训营必须要学的,其它的有兴趣可以⾃⼰探索。

内置参数详解 https://docs.python.org/3/library/functions.html?highlight=built#ascii

每个函数的作⽤我都帮你标好了

  1. abs # 求绝对值

  2. all #Return True if bool(x) is True for all values x in the iterable.If the iterable is empty, return True.

  3. any #Return True if bool(x) is True for any x in the iterable.If the iterable is empty, return False.

  4. ascii #Return an ASCII-only representation of an object,ascii(“中国”) 返回”‘\u4e2d\u56fd’”

  5. bin #返回整数的2进制格式

  6. bool # 判断⼀个数据结构是True or False, bool({}) 返回就是False, 因为是空dict

  7. bytearray # 把byte变成 bytearray, 可修改的数组

  8. bytes # bytes(“中国”,”gbk”)

  9. callable # 判断⼀个对象是否可调⽤

  10. chr # 返回⼀个数字对应的ascii字符 , ⽐如chr(90)返回ascii⾥的’Z’

  11. classmethod #⾯向对象时⽤,现在忽略

  12. compile #py解释器⾃⼰⽤的东⻄,忽略

  13. complex #求复数,⼀般⼈⽤不到

  14. copyright #没⽤

  15. credits #没⽤

  16. delattr #⾯向对象时⽤,现在忽略

  17. dict #⽣成⼀个空dict

  18. dir #返回对象的可调⽤属性

  19. divmod #返回除法的商和余数 ,⽐如divmod(4,2),结果(2, 0)

  20. enumerate #返回列表的索引和元素,⽐如 d = [“alex”,”jack”],enumerate(d)后,得到(0, ‘alex’) (1, ‘jack’)

  21. eval #可以把字符串形式的list,dict,set,tuple,再转换成其原有的数据类型。

  22. exec #把字符串格式的代码,进⾏解义并执⾏,⽐如exec(“print(‘hellworld’)”),会解义⾥⾯的字符 串并执⾏

  23. exit #退出程序

  24. filter #对list、dict、set、tuple等可迭代对象进⾏过滤, filter(lambda x:x>10, [0,1,23,3,4,4,5,6,67,7])过滤出所有⼤于10的值

  25. float #转成浮点

  26. format #没⽤

  27. frozenset #把⼀个集合变成不可修改的

  28. getattr #⾯向对象时⽤,现在忽略

  29. globals #打印全局作⽤域⾥的值

  30. hasattr #⾯向对象时⽤,现在忽略

  31. hash #hash函数

  32. help

  33. hex #返回⼀个10进制的16进制表示形式,hex(10) 返回’0xa’

  34. id #查看对象内存地址

  35. input

  36. int

  37. isinstance #判断⼀个数据结构的类型,⽐如判断a是不是fronzenset, isinstance(a,frozenset) 返 回 True or False

  38. issubclass #⾯向对象时⽤,现在忽略

  39. iter #把⼀个数据结构变成迭代器,讲了迭代器就明⽩了

  40. len

  41. list

  42. locals

  43. map # map(lambda x:x**2,[1,2,3,43,45,5,6,]) 输出 [1, 4, 9, 1849, 2025, 25, 36]

  44. max # 求最⼤值

  45. memoryview # ⼀般⼈不⽤,忽略

  46. min # 求最⼩值

  47. next # ⽣成器会⽤到,现在忽略

  48. object #⾯向对象时⽤,现在忽略

  49. oct # 返回10进制数的8进制表示

  50. open

  51. ord # 返回ascii的字符对应的10进制数 ord(‘a’) 返回97,

  52. print

  53. property #⾯向对象时⽤,现在忽略

  54. quit

  55. range

  56. repr #没什么⽤

  57. reversed # 可以把⼀个列表反转

  58. round #可以把⼩数4舍5⼊成整数 ,round(10.15,1) 得10.2

  59. set

  60. setattr #⾯向对象时⽤,现在忽略

  61. slice # 没⽤

  62. sorted

  63. staticmethod #⾯向对象时⽤,现在忽略

  64. str

  65. sum #求和,a=[1, 4, 9, 1849, 2025, 25, 36],sum(a) 得3949

  66. super #⾯向对象时⽤,现在忽略

  67. tuple

  68. type

  69. vars #返回⼀个对象的属性,⾯向对象时就明⽩了

  70. zip #可以把2个或多个列表拼成⼀个, a=[1, 4, 9, 1849, 2025, 25, 36],b = [“a”,”b”,”c”,”d”],

list(zip(a,b)) #得结果 [(1, 'a'), (4, 'b'), (9, 'c'), (1849, 'd')]

6.7 练习题:学籍注册程序

需求:

  1. 要求⽤户输⼊姓名、年龄、⼿机号、身份证号、所选课程,然后为学员完成注册
  2. ⼿机号、身份证号唯⼀
  3. 可选的课程只能从Python、Linux、⽹络安全、前端、数据分析 这⼏⻔⾥选
  4. 学员信息存⼊⽂件

6.8 练习题:炸⾦花棋牌游戏

需求:

  1. 允许⽤户⼀次性输⼊多个玩家姓名,不限个数,然后为每个玩家随机⽣成3张牌
  2. 你只有⼀付扑克牌,确保发出去的每张牌不重样
  3. 牌需要有⿊桃、红桃、⽅⽚、梅花之分

Python解决各种工作难题

1. 模块和包

1.1 什么是模块

在计算机程序的开发过程中,随着程序代码越写越多,在⼀个⽂件⾥代码就会越来越⻓,越来越不容易维护。

为了编写可维护的代码,我们把很多代码按功能分组,分别放到不同的⽂件⾥,这样,每个⽂件包含的 代码就相对较少,很多编程语⾔都采⽤这种组织代码的⽅式。在Python中,⼀个.py⽂件就可以称之为 ⼀个模块(Module)

使⽤模块有什么好处?
  1. 最⼤的好处是⼤⼤提⾼了代码的可维护性。其次,编写代码不必从零开始。当⼀个模块编写完毕, 就可以被其他地⽅引⽤。我们在编写程序的时候,也经常引⽤其他模块,包括Python内置的模块 和来⾃第三⽅的模块。
  2. 使⽤模块还可以避免函数名和变量名冲突。每个模块有独⽴的命名空间,因此相同名字的函数和变 量完全可以分别存在不同的模块中,所以,我们⾃⼰在编写模块时,不必考虑名字会与其他模块冲突
模块分类

模块分为三种:

  • 内置标准模块(⼜称标准库)执⾏ help(‘modules’) 查看所有python⾃带模块列表
  • 第三⽅开源模块,可通过pip install 模块名 联⽹安装
  • ⾃定义模块
模块导⼊&调⽤

导⼊模块有以下⼏种⽅式:

import module_a #导⼊from module import xx # 导⼊某个模块下的某个⽅法 or ⼦模块from module.xx.xx import xx as rename #导⼊后⼀个⽅法后重命令from module.xx.xx import * #导⼊⼀个模块下的所有⽅法,不建议使⽤module_a.xxx #调⽤

注意:模块⼀旦被调⽤,即相当于执⾏了另外⼀个py⽂件⾥的代码

1.2 ⾃定义模块

这个最简单, 创建⼀个.py⽂件,就可以称之为模块,就可以在另外⼀个程序⾥导⼊

1.3 模块的查找路径

有没有发现,⾃⼰写的模块只能在当前路径下的程序⾥才能导⼊,换⼀个⽬录再导⼊⾃⼰的模块就报错 说找不到了, 这是为什么? 这与导⼊模块的查找路径有关

import sysprint(sys.path)

输出(注意不同的电脑可能输出的不太⼀样)

['C:\\Users\\橘天\\PycharmProjects\\demo_py\\Day4 常用模块', 'C:\\Users\\橘天\\PycharmProjects\\demo_py', 'D:\\Program Files\\JetBrains\\PyCharm 2020.1\\plugins\\python\\helpers\\pycharm_display', 'D:\\Users\\橘天\\AppData\\Local\\Programs\\Python\\Python38-32\\python38.zip', 'D:\\Users\\橘天\\AppData\\Local\\Programs\\Python\\Python38-32\\DLLs', 'D:\\Users\\橘天\\AppData\\Local\\Programs\\Python\\Python38-32\\lib', 'D:\\Users\\橘天\\AppData\\Local\\Programs\\Python\\Python38-32', 'D:\\Users\\橘天\\AppData\\Local\\Programs\\Python\\Python38-32\\lib\\site-packages', 'D:\\Program Files\\JetBrains\\PyCharm 2020.1\\plugins\\python\\helpers\\pycharm_matplotlib_backend']

你导⼊⼀个模块时,Python解释器会按照上⾯列表顺序去依次到每个⽬录下去匹配你要导⼊的模块名, 只要在⼀个⽬录下匹配到了该模块名,就⽴刻导⼊,不再继续往后找。

注意列表第⼀个元素为空,即代表当前⽬录,所以你⾃⼰定义的模块在当前⽬录会被优先导⼊。

我们⾃⼰创建的模块若想在任何地⽅都能调⽤,那就得确保你的模块⽂件⾄少在模块路径的查找列表 中。

我们⼀般把⾃⼰写的模块放在⼀个带有“site-packages”字样的⽬录⾥,我们从⽹上下载安装的各种第三⽅的模块⼀般都放在这个⽬录。

1.4 第3⽅开源模块安装

https://pypi.python.org/pypi 是python的开源模块库,截⽌2020年5.26⽇ ,已经收录了236,269个来 ⾃全世界python开发者贡献的模块,⼏乎涵盖了你想⽤python做的任何事情。 事实上每个python开发 者,只要注册⼀个账号就可以往这个平台上传你⾃⼰的模块,这样全世界的开发者都可以容易的下载并使⽤你的模块。

那如何从这个平台上下载代码呢?

  1. 直接在上⾯这个⻚⾯上点download,下载后,解压并进⼊⽬录,执⾏以下命令完成安装
编译源码
python setup.py build 安装源码
python setup.py install
  1. 直接通过pip安装
pip3 install paramiko #paramiko 是模块名

pip命令会⾃动下载模块包并完成安装。

软件⼀般会被⾃动安装你python安装⽬录的这个⼦⽬录⾥

/your_python_install_path/3.6/lib/python3.6/site-packages

pip命令默认会连接在国外的python官⽅服务器下载,速度⽐较慢,你还可以使⽤国内的⾖瓣源,数据 会定期同步国外官⽹,速度快好多。

pip install -i http://pypi.douban.com/simple/ alex_sayhi --trusted-hostpypi.douban.com #alex_sayhi是模块名

i 后⾯跟的是⾖瓣源地址

—trusted-host 得加上,是通过⽹站https安全验证⽤的

使⽤

下载后,直接导⼊使⽤就可以,跟⾃带的模块调⽤⽅法⽆差

1.5 什么是包(package)

若你写的项⽬较复杂,有很多代码⽂件的话,为了⽅便管理,可以⽤包来管理。 ⼀个包其实就是⼀个⽂ 件⽬录,你可以把属于同⼀个业务线的代码⽂件都放在同⼀个包⾥。

如何创建⼀个包?

只需要在⽬录下创建⼀个空的 init.py ⽂件 , 这个⽬录就变成了包。这个⽂件叫包的初始化⽂件 ,⼀般为空,当然也可以写东⻄,当你调⽤这个包下及其任意⼦包的的任意模块时, 这 个 init.py ⽂件都会先执⾏。 以下 有a、b 2个包,a2是a的⼦包,b2是b的⼦包

详情可以参考C语言中文网Python教程:here

2、⼏个常⽤Python模块

2.1 系统调⽤OS模块

os 模块提供了很多允许你的程序与操作系统直接交互的功能

import os
得到当前⼯作⽬录,即当前Python脚本⼯作的⽬录路径: os.getcwd()
返回指定⽬录下的所有⽂件和⽬录名:os.listdir()
函数⽤来删除⼀个⽂件:os.remove()
删除多个⽬录:os.removedirs(r“c:\python”)
检验给出的路径是否是⼀个⽂件:os.path.isfile()
检验给出的路径是否是⼀个⽬录:os.path.isdir()
判断是否是绝对路径:os.path.isabs()
检验给出的路径是否真地存:os.path.exists()
返回⼀个路径的⽬录名和⽂件名:os.path.split() e.g
os.path.split('/home/swaroop/byte/code/poem.txt') 结果:
('/home/swaroop/byte/code', 'poem.txt')
分离扩展名:os.path.splitext() e.g os.path.splitext('/usr/local/test.py')
 结果:('/usr/local/test', '.py')
获取路径名:os.path.dirname()
获得绝对路径: os.path.abspath()
获取⽂件名:os.path.basename()
运⾏shell命令: os.system()
读取操作系统环境变量HOME的值:os.getenv("HOME")
返回操作系统所有的环境变量: os.environ
设置系统环境变量,仅程序运⾏时有效:os.environ.setdefault('HOME','/home/alex')
给出当前平台使⽤的⾏终⽌符:os.linesep Windows使⽤'\r\n',Linux and MAC使⽤'\n'
指示你正在使⽤的平台:os.name 对于Windows,它是'nt',⽽对于Linux/Unix⽤户,它
是'posix'
重命名:os.rename(old, new)
创建多级⽬录:os.makedirs(r“c:\python\test”)
创建单个⽬录:os.mkdir(“test”)
获取⽂件属性:os.stat(file)
修改⽂件权限与时间戳:os.chmod(file)
获取⽂件⼤⼩:os.path.getsize(filename)
结合⽬录名与⽂件名:os.path.join(dir,filename)
改变⼯作⽬录到dirname: os.chdir(dirname)
获取当前终端的⼤⼩: os.get_terminal_size()
杀死进程: os.kill(10884,signal.SIGKILL)

OS(python) 思维导图

3. 练习和实战

3.1 练习:密码⽣成器

写一个简易脚本,利用random模块随机生成index

#my_module.py
import random

def generate_password(code_len = 16):
    all_lowercase = 'abcdefghijklmnopqrstuvwxyz'
    all_uppercase = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
    all_numbers = '0123456789'
    all_punctuations = r'!@#$%^&*'
    all_password = all_lowercase + all_uppercase + all_numbers + all_punctuations
    code = ''
    for _ in range(code_len):
        index = random.randint(0,len(all_password) - 1)
        code += all_password[index]
    print(code)

再引入脚本并运行

#tset.py
import my_module

my_module.generate_password(12)

3.2 实战: 给员⼯⾃动批量发⼯资条

3.3 实战:批量从1000号员⼯word简历中调 取技能关键词

posted @ 2020-09-16 23:42  RioTian  阅读(1139)  评论(1编辑  收藏  举报