1 import os,sys 2 map = { 3 ‘湖北‘:{ 4 ‘武汉‘:{‘江岸区‘:[(‘长江北岸‘,‘武汉市东北部,‘),(‘70.25平方千米‘,),(430000,),{‘populace‘:‘100W‘}], 5 ‘江汉区‘:[(‘武汉市汉口地区中部‘,),(‘33.43平方公里‘,),(430000,),{‘populace‘:‘83W‘}], 6 ‘硚口区‘:[(‘武汉市主城区西北部‘,),(‘41.46平方公里‘,),(430000,),{‘populace‘:‘64W‘}], 7 ‘汉阳区‘:[(‘武汉市西南部‘,),(‘108平方公里‘,),(430050,),{‘populace‘:‘91W‘}], 8 ‘武昌区‘:[(‘武汉市东南部‘,),(‘107.76平方千米‘,),(430061,),{‘populace‘:‘106W‘}], 9 ‘青山区‘:[(‘武汉市中游南岸‘,),(‘80.47平方公里‘,),(430080,),{‘populace‘:‘54W‘}], 10 ‘洪山区‘:[(‘武汉市东南部‘,),(‘480平方公里‘,),(430070,),{‘populace‘:‘126W‘}], 11 ‘江夏区‘:[(‘武汉市南部‘,),(‘2018平方公里‘,),(430200,),{‘populace‘:‘82W‘}]}, 12 ‘黄石‘:{‘黄石港区‘:[(‘位于鄂东南‘,),(‘42.4平方公里‘,),(43500,),{‘populace‘:‘22W‘}], 13 ‘西塞山区‘:[(‘长江中游‘),(‘49.95平方公里‘),(435000),{‘populace‘:‘26W‘}], 14 ‘下陆区‘:[(‘黄石市北部‘,),(‘75平方公里‘,),(435005,),{‘populace‘:‘11W‘}], 15 ‘铁山区‘:[(‘黄石市西部‘,),(‘28.7平方公里‘,),(435006,),{‘populace‘:‘7W‘}], 16 ‘阳新县‘:[(‘长江以南‘,‘幕阜山脉北麓‘),(‘2780平方千米‘,),(435200,),{‘populace‘:‘109W‘}], 17 ‘大冶市‘:[(‘长江以南‘,‘幕阜山脉以北‘),(‘1566.3平方公里‘,),(435100,),{‘populace‘:‘98W‘}]}, 18 ‘十堰‘:{‘茅箭区‘:[(‘十堰市中部‘,),(‘540平方公里‘,),(442000,),{‘populace‘:‘27W‘}], 19 ‘张湾区‘:[(‘十堰市中部‘,),(‘657平方公里‘,),(442000,),{‘populace‘:‘40W‘}], 20 ‘郧阳区‘:[(‘十堰市北部、西部‘,),(‘3863平方公里‘,),(442500,),{‘populace‘:‘64W‘}], 21 ‘郧西县‘:[(‘十堰市西北部‘,),(‘3509平方千米‘,),(442600,),{‘populace‘:‘50W‘}], 22 ‘竹山县‘:[(‘十堰市西南‘,‘竹溪以东,房县以西‘),(‘3586平方千米‘,),(442200,),{‘populace‘:‘51W‘}], 23 ‘竹溪县‘:[(‘十堰市西南‘,),(‘3279平方公里‘,),(442300,),{‘populace‘:‘36W‘}], 24 ‘房县‘:[(‘十堰市南部‘,),(‘5115平方公里‘,),(442100,),{‘populace‘:‘49W‘}], 25 ‘丹江口市‘:[(‘中国中部‘,‘十堰 襄阳的中间‘,‘汉江中上游‘),(‘3121平方千米‘,),(442700,),{‘populace‘:‘98W‘}]}, 26 ‘随州‘:{‘曾都区‘:[(‘鄂北‘,),(‘1316平方公里‘,),(441300,),{‘populace‘:‘82W‘}], 27 ‘随县‘:[(‘湖北省北部‘,),(‘5673平方公里‘,),(431500,),{‘populace‘:‘107W‘}], 28 ‘广水市‘:[(‘武汉市北部‘,‘随州市东部‘),(‘2675平方公里‘,),(432700,),{‘populace‘:‘104W‘}]}, 29 ‘荆州‘:{‘沙市区‘:[(‘江汉平原腹地‘,‘荆州地区东北‘),(‘492平方千米‘,),(434000,),{‘populace‘:‘61W‘}], 30 ‘荆州区‘:[(‘湖北省中南部‘,),(‘1045平方公里‘),(434000),{‘populace‘:‘60W‘}], 31 ‘江陵县‘:[(‘湖北省中南部‘,),(‘1032平方千米‘,),(434100,),{‘populace‘:‘40W‘}], 32 ‘监利县‘:[(‘湖北省南部‘,‘长江北岸‘),(‘3118平方千米‘,),(433300,),{‘populace‘:‘155W‘}], 33 ‘公安县‘:[(‘湖北省中南部‘,‘长江中游荆江南岸‘),(‘2258平方公里‘,),(434300,),{‘populace‘:‘102W‘}], 34 ‘松滋市‘:[(‘湖北省西南部‘,),(‘2235平方公里‘),(434200,),{‘populace‘:‘85W‘}], 35 ‘石首市‘:[(‘湖北省南部‘,‘长江中游岸边‘),(‘1427平方千米‘,),(434400,),{‘populace‘:‘98W‘}], 36 ‘洪湖市‘:[(‘长江中下游‘,‘江汉平原东南部‘),(‘2519平方公里‘,),(433200,),{‘populace‘:‘93W‘}]} 37 }, 38 ‘湖南‘:{‘长沙市‘:{‘芙蓉区‘:‘出水芙蓉,静秋思‘,‘天心区‘:‘为百姓请命,为天地立心,为万世开太平‘, 39 ‘开福区‘:‘开元盛世,贞观之治‘,‘雨花区‘:‘清泉石上流‘, 40 ‘望城区‘:‘烽火连三月,家书抵万金‘,‘长沙县‘:‘火烧长沙‘,‘浏阳市‘:‘湘江有个浏阳河‘}, 41 ‘株洲市‘:{‘天元区‘:‘天王盖地宝‘,‘荷塘区‘:‘小荷才露尖尖角‘,‘芦淞区‘:‘芦花鸡‘, 42 ‘石峰区‘:‘壁立千仞‘,‘株洲县‘:‘株洲,株洲‘}, 43 ‘湘潭市‘:{‘岳塘区‘:‘这个人很懒,什么都不想写‘,‘雨湖区‘:‘这个人很懒,什么都不想写‘, 44 ‘湘乡市‘:‘这个人很懒,什么都不想写‘,‘韶山市‘:‘这个人很懒,什么都不想写‘, 45 ‘湘潭县‘:‘这个人很懒,什么都不想写‘}, 46 ‘衡阳市‘:{‘雁峰区‘:‘这个人很懒,什么都不想写‘,‘石鼓区‘:‘这个人很懒,什么都不想写‘, 47 ‘珠晖区‘:‘这个人很懒,什么都不想写‘,‘南岳区‘:‘这个人很懒,什么都不想写‘}, 48 ‘邵阳市‘:{‘双清区‘:‘这个人很懒,什么都不想写‘,‘大祥区‘:‘这个人很懒,什么都不想写‘, 49 ‘北塔区‘:‘这个人很懒,什么都不想写‘}, 50 ‘岳阳市‘:{‘岳阳楼区‘:‘这个人很懒,什么都不想写‘,‘君山区‘:‘这个人很懒,什么都不想写‘, 51 ‘云溪区‘:‘这个人很懒,什么都不想写‘,‘临湘区‘:‘这个人很懒,什么都不想写‘}, 52 ‘常德市‘:{‘武陵区‘:‘这个人很懒,什么都不想写‘,‘鼎城区‘:‘这个人很懒,什么都不想写‘, 53 ‘石门县‘:‘这个人很懒,什么都不想写‘} 54 }, 55 ‘四川‘:{‘成都市‘:{‘武侯区‘:‘这个人很懒,什么都不想写‘,‘锦江区‘:‘这个人很懒,什么都不想写‘, 56 ‘青羊区‘:‘这个人很懒,什么都不想写‘,‘金牛区‘:‘这个人很懒,什么都不想写‘}, 57 ‘自贡市‘:{‘贡井区‘:‘这个人很懒,什么都不想写‘,‘大安区‘:‘这个人很懒,什么都不想写‘, 58 ‘沿滩区‘:‘这个人很懒,什么都不想写‘}, 59 ‘德阳市‘:{‘罗江区‘:‘这个人很懒,什么都不想写‘,‘中江县‘:‘这个人很懒,什么都不想写‘, 60 ‘广汉市‘:‘这个人很懒,什么都不想写‘}, 61 ‘广元市‘:{‘朝天区‘:‘这个人很懒,什么都不想写‘,‘青川县‘:‘这个人很懒,什么都不想写‘, 62 ‘剑阁县‘:‘这个人很懒,什么都不想写‘} 63 }, 64 } 65 66 flag = True 67 while flag is True: 68 for key in map: 69 print(key) 70 core = input("Please input province , or ‘q‘ exit:") 71 if core in map: 72 flag = False 73 while flag is not True: 74 for key_1 in map[core].keys(): 75 print(key_1) 76 core_1 = input("Please input city or ‘b‘ back or ‘q‘ exit:") 77 if core_1 == ‘b‘: 78 print(‘返回上一级‘) 79 flag = True 80 break 81 elif core_1 == ‘q‘: 82 sys.exit(‘您已退出系统‘) 83 elif core_1 in map[core]: 84 flag = True 85 while flag is True: 86 for key_2 in map[core][core_1]: 87 print(key_2) 88 core_2 = input("Plesase input town or ‘b‘ back or ‘q‘ quit:") 89 if core_2 in map[core][core_1]: 90 print(map[core][core_1][core_2]) 91 exit(0) 92 elif core_2 == ‘b‘: 93 print(‘返回上层目录‘) 94 flag = False 95 break 96 elif core_2 == ‘q‘: 97 sys.exit(‘quit‘) 98 else: 99 print(‘输入不符合规范,请重新输入‘) 100 continue 101 else: 102 print(‘您的输入不符合规范,请重新输入‘) 103 continue 104 elif core == ‘q‘: 105 sys.exit(‘exit0‘) 106 else: 107 print(‘您的输入不符合规范,请重新输入。‘) 108 continue
######
1.判断元素是否在列表,元祖,字典等里;使用 VLAUE in LIST(DIR).
1 name = {‘a‘:1,‘b‘:2,‘c‘:3,‘d‘:4} 2 print(‘a‘ in name) 3 name_1 = [‘A‘,‘B‘,‘C‘,‘D‘] 4 print(‘B‘ in name_1) 5 name_2 = (‘A‘,‘B‘,‘C‘,‘D‘) 6 print(‘D‘ in name_2) 7 8 9 》》》》 10 True 11 True 12 True
2.字典使用键-值(key-value)存储,具有极快的查找速度。字典是无序的,字典中的元素通过键来存取,故字典中的键是唯一的不可以修改;通过key计算位置的算法称为哈希算法(Hash)
键:不可变类型;整形,字符串,元祖等。 值:可变和不可变。
3.列表和元祖有序的集合,通过索引可以存取。列表可以修改,元祖中的元素不可以修改;索引是从0
开始。
4.多次对一个key放入value,后面的值会把前面的值冲掉
5.避免key不存在的错误,有两种办法,一是通过in
判断key是否存在;二是通过dict提供的get()
方法,如果key不存在,可以返回None
,或者自己指定的value:
1 name = {‘a‘:1,‘b‘:2,‘c‘:3,‘d‘:4} 2 print(name.get(‘e‘)) 3 print(name.get(‘e‘,9)) 4 5 》》》 6 None 7 9
6.和list比较,dict有以下几个特点:查找和插入的速度极快,不会随着key的增加而变慢;需要占用大量的内存,内存浪费多。
而list相反:查找和插入的时间随着元素的增加而增加;占用空间小,浪费内存很少。
补充:
7.集合set:和dict类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在set中,没有重复的key。无序的。
1 set_1 = {‘a‘,‘b‘,‘c‘} 2 print(set_1) 3 list = [‘A‘,‘B‘,‘C‘,‘D‘] 4 print(list) 5 set_2 = set(list) 6 print(set_2) 7 8 》》》 9 {‘b‘, ‘a‘, ‘c‘} 10 [‘A‘, ‘B‘, ‘C‘, ‘D‘] 11 {‘D‘, ‘C‘, ‘A‘, ‘B‘}
原文:https://www.cnblogs.com/win1387key/p/9069452.html