生活随笔
收集整理的這篇文章主要介紹了
‘复杂变简单‘的代码例子
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
把復(fù)雜問題簡單化
1 列出【部分】【最簡單的】原始數(shù)據(jù),和想要的數(shù)據(jù)
2 要清楚每一步在干嘛 log log=print
provice
= [{"name": "北京市","id": "110000000000"
}, {"name": "天津市","id": "120000000000"
}, {"name": "河北省","id": "130000000000"
}, {"name": "山西省","id": "140000000000"
}, {"name": "內(nèi)蒙古自治區(qū)","id": "150000000000"
}, {"name": "遼寧省","id": "210000000000"
}, {"name": "吉林省","id": "220000000000"
}, {"name": "黑龍江省","id": "230000000000"
}, {"name": "上海市","id": "310000000000"
}, {"name": "江蘇省","id": "320000000000"
}, {"name": "浙江省","id": "330000000000"
}, {"name": "安徽省","id": "340000000000"
}, {"name": "福建省","id": "350000000000"
}, {"name": "江西省","id": "360000000000"
}, {"name": "山東省","id": "370000000000"
}, {"name": "河南省","id": "410000000000"
}, {"name": "湖北省","id": "420000000000"
}, {"name": "湖南省","id": "430000000000"
}, {"name": "廣東省","id": "440000000000"
}, {"name": "廣西壯族自治區(qū)","id": "450000000000"
}, {"name": "海南省","id": "460000000000"
}, {"name": "重慶市","id": "500000000000"
}]ccity
= {"110000000000": [{"city": "市轄區(qū)","name": "東城區(qū)","id": "110101000000"},{"city": "市轄區(qū)","name": "西城區(qū)","id": "110102000000"},{"city": "市轄區(qū)","name": "朝陽區(qū)","id": "110105000000"},{"city": "市轄區(qū)","name": "豐臺區(qū)","id": "110106000000"},{"city": "市轄區(qū)","name": "石景山區(qū)","id": "110107000000"},{"city": "市轄區(qū)","name": "海淀區(qū)","id": "110108000000"},{"city": "市轄區(qū)","name": "門頭溝區(qū)","id": "110109000000"},{"city": "市轄區(qū)","name": "房山區(qū)","id": "110111000000"},{"city": "市轄區(qū)","name": "通州區(qū)","id": "110112000000"},{"city": "市轄區(qū)","name": "順義區(qū)","id": "110113000000"},{"city": "市轄區(qū)","name": "昌平區(qū)","id": "110114000000"},{"city": "市轄區(qū)","name": "大興區(qū)","id": "110115000000"},{"city": "市轄區(qū)","name": "懷柔區(qū)","id": "110116000000"},{"city": "市轄區(qū)","name": "平谷區(qū)","id": "110117000000"},{"city": "市轄區(qū)","name": "密云區(qū)","id": "110118000000"},{"city": "市轄區(qū)","name": "延慶區(qū)","id": "110119000000"}],"120000000000": [{"city": "市轄區(qū)","name": "和平區(qū)","id": "120101000000"},{"city": "市轄區(qū)","name": "河?xùn)|區(qū)","id": "120102000000"},{"city": "市轄區(qū)","name": "河西區(qū)","id": "120103000000"},{"city": "市轄區(qū)","name": "南開區(qū)","id": "120104000000"},{"city": "市轄區(qū)","name": "河北區(qū)","id": "120105000000"},{"city": "市轄區(qū)","name": "紅橋區(qū)","id": "120106000000"},{"city": "市轄區(qū)","name": "東麗區(qū)","id": "120110000000"},{"city": "市轄區(qū)","name": "西青區(qū)","id": "120111000000"},{"city": "市轄區(qū)","name": "津南區(qū)","id": "120112000000"},{"city": "市轄區(qū)","name": "北辰區(qū)","id": "120113000000"},{"city": "市轄區(qū)","name": "武清區(qū)","id": "120114000000"},{"city": "市轄區(qū)","name": "寶坻區(qū)","id": "120115000000"},{"city": "市轄區(qū)","name": "濱海新區(qū)","id": "120116000000"},{"city": "市轄區(qū)","name": "寧河區(qū)","id": "120117000000"},{"city": "市轄區(qū)","name": "靜海區(qū)","id": "120118000000"},{"city": "市轄區(qū)","name": "薊州區(qū)","id": "120119000000"},{"city": "市轄區(qū)","name": "和平區(qū)","id": "120101000000"},{"city": "市轄區(qū)","name": "河?xùn)|區(qū)","id": "120102000000"},{"city": "市轄區(qū)","name": "河西區(qū)","id": "120103000000"},{"city": "市轄區(qū)","name": "南開區(qū)","id": "120104000000"},{"city": "市轄區(qū)","name": "河北區(qū)","id": "120105000000"},{"city": "市轄區(qū)","name": "紅橋區(qū)","id": "120106000000"},{"city": "市轄區(qū)","name": "東麗區(qū)","id": "120110000000"},{"city": "市轄區(qū)","name": "西青區(qū)","id": "120111000000"},{"city": "市轄區(qū)","name": "津南區(qū)","id": "120112000000"},{"city": "市轄區(qū)","name": "北辰區(qū)","id": "120113000000"},{"city": "市轄區(qū)","name": "武清區(qū)","id": "120114000000"},{"city": "市轄區(qū)","name": "寶坻區(qū)","id": "120115000000"},{"city": "市轄區(qū)","name": "濱海新區(qū)","id": "120116000000"},{"city": "市轄區(qū)","name": "寧河區(qū)","id": "120117000000"},{"city": "市轄區(qū)","name": "靜海區(qū)","id": "120118000000"},{"city": "市轄區(qū)","name": "薊州區(qū)","id": "120119000000"}],"130000000000": [{"province": "河北省","name": "石家莊市","id": "130100000000"},{"province": "河北省","name": "唐山市","id": "130200000000"},{"province": "河北省","name": "秦皇島市","id": "130300000000"},{"province": "河北省","name": "邯鄲市","id": "130400000000"},{"province": "河北省","name": "邢臺市","id": "130500000000"},{"province": "河北省","name": "保定市","id": "130600000000"},{"province": "河北省","name": "張家口市","id": "130700000000"},{"province": "河北省","name": "承德市","id": "130800000000"},{"province": "河北省","name": "滄州市","id": "130900000000"},{"province": "河北省","name": "廊坊市","id": "131000000000"},{"province": "河北省","name": "衡水市","id": "131100000000"}],"140000000000": [{"province": "山西省","name": "太原市","id": "140100000000"},{"province": "山西省","name": "大同市","id": "140200000000"},{"province": "山西省","name": "陽泉市","id": "140300000000"},{"province": "山西省","name": "長治市","id": "140400000000"},{"province": "山西省","name": "晉城市","id": "140500000000"},{"province": "山西省","name": "朔州市","id": "140600000000"},{"province": "山西省","name": "晉中市","id": "140700000000"},{"province": "山西省","name": "運(yùn)城市","id": "140800000000"},{"province": "山西省","name": "忻州市","id": "140900000000"},{"province": "山西省","name": "臨汾市","id": "141000000000"},{"province": "山西省","name": "呂梁市","id": "141100000000"}]}
log
= print'''
def bb():# list=[]d = {}pro = {}ci = {}l = []t = {}for p in provice:pro = dict()pro['province'] = {'id': p['id'], 'name': p['name']}for c in city[p['id']]:print(c['id'], c['name'])t = {'id': c['id'], 'name': c['name']}pro.setdefault('city', []).append(t)l.append(pro)print(pro)print('-' * 30, '以下是列表', '-' * 100)print(l)print(l)
''''''
def clear_city_information(city):# city = listfor c in city:del c['city']return city
'''def get_result(b
, c
):result
= []for i
in b
:province
= iprovince_id
= i
.get
('id')city
= c
.get
(province_id
)iu
= del_city_or_province
(city
)province
['city'] = cityresult
.append
(province
)return result
def data():b
= [{"name": "北京市","id": "110000000000"}]c
= {"110000000000": [{"city": "市轄區(qū)","name": "東城區(qū)","id": "110101000000",}]}e
= [{"id": "110000000000","name": "北京市",'city': [{"name": "東城區(qū)","id": "110101000000",}]}]b
=provicec
=ccityee
= get_result
(b
, c
)log
('ee', ee
)'''if ee != e:log('ni co le', ee, e)else:log('你好棒啊! 你寫對了!!!')
'''def del_city_or_province(a
):r
= []for i
in a
:if 'city' in i
.keys
():del i
['city']else:del i
['province']r
.append
(i
)return r
def iu():a
= [{'city': '市轄區(qū)', 'name': '東城區(qū)', 'id': '110101000000'}]b
= [{'name': '東城區(qū)', 'id': '110101000000'}]xixi
= del_city_or_province
(a
)if xixi
!= b
:log
('ni co le')else:log
('你好棒啊! 你寫對了!!!')def main():data
()if __name__
== '__main__':main
()'''if p['name'] == '北京市':p_id = p['id']log(p_id)c = city[p_id]log('c', c)'''
from test_for_learn
.final
import get_province_city_listlog
= printdef data():a
= get_province_city_list
()'''a = [{'name': '北京市','id': '110000000000','city': [{'name': '東城區(qū)', 'id': '110101000000'},{'name': '西城區(qū)', 'id': '110102000000'},{'name': '朝陽區(qū)', 'id': '110105000000'},{'name': '豐臺區(qū)', 'id': '110106000000'},{'name': '石景山區(qū)', 'id': '110107000000'},{'name': '海淀區(qū)', 'id': '110108000000'},{'name': '門頭溝區(qū)', 'id': '110109000000'},{'name': '房山區(qū)', 'id': '110111000000'},{'name': '通州區(qū)', 'id': '110112000000'},{'name': '順義區(qū)', 'id': '110113000000'},{'name': '昌平區(qū)', 'id': '110114000000'},{'name': '大興區(qū)', 'id': '110115000000'},{'name': '懷柔區(qū)', 'id': '110116000000'},{'name': '平谷區(qū)', 'id': '110117000000'},{'name': '密云區(qū)', 'id': '110118000000'},{'name': '延慶區(qū)', 'id': '110119000000'}]}]'''log
(get_province_id
(a
, '福建省'),get_city_id
(a
, '中山市'),get_info_from_id
(a
, '110101000000'))def del_city_or_province(city_data
):"""刪除原始city數(shù)據(jù)里多余的city或province字段"""city_list
= []for c
in city_data
:if 'city' in c
.keys
():del c
['city']else:del c
['province']city_list
.append
(c
)log
('city_list',city_list
)return city_list
def is_municipality(city
):"""判斷是不是直轄市"""municipality
= ['北京市', '天津市', '上海市', '重慶市']if city
in municipality
:return Trueelse:return Falsedef get_no_municipality_id(province_city_info
, city_name
):"""獲得非直轄市城市的id"""city_id
= ''for province
in province_city_info
:for city
in province
['city']:if city_name
== city
['name']:city_id
= city
['id']return city_idlog
('no_municipality_id', city_id
)return city_id
def get_province_id(province_city_info
, province_name
):"""獲得省份名稱的id"""province_id
= ''for province
in province_city_info
:if province_name
== province
['name']:province_id
= province
['id']log
('province_id', province_id
)return province_idlog
('province_id', province_id
)return province_id
def get_city_id(province_city_info
, city_name
):"""獲得城市名稱的id"""if is_municipality
(city_name
):city_id
= get_province_id
(province_city_info
, city_name
)else:city_id
= get_no_municipality_id
(province_city_info
, city_name
)log
('city_id', city_id
)return city_id
def get_info_from_id(province_city_info
, search_id
):"""從id獲得省/市的類型和名稱"""info
= {}for province
in province_city_info
:if search_id
== province
['id']:info
['type'] = '省'info
['name'] = province
['name']log
('info',info
)return info
else:info
= get_city_info_from_id
(province
, search_id
)log
('info', info
)return info
return info
def get_city_info_from_id(province
:dict, search_id
):info
= {}for city
in province
['city']:if search_id
== city
['id']:info
['type'] = '市'info
['name'] = city
['name']return info
return info
'''
def is_municipality(city):municipality = ['北京市', '天津市', '上海市', '重慶市']if city in municipality:return Trueelse:return Falsedef get_province(a, province):for i in a:if province in i['name']:province_id = i['id']log('province_id', province_id)return province_iddef get_city(a, city):if is_municipality(city):get_province(a, city)else:for i in a:#log('i', i)#log('-'*100)#log('city', i['city'])for j in i['city']:if city in j['name']:city_id = j['id']log('city_id', city_id)return city_iddef get_type(a,id):info = {}for i in a:if id == i['id']:#info['type'] = i['name'][-1]info['type'] = '省'info['name'] = i['name']# log('name',i['name'])# log('type',info['type'])# log('info',info)else:for j in i['city']:if id == j['id']:#info['type'] = j['name'][-1]info['type'] = '市'info['name'] = j['name']log('info', info)return info'''
def main():data
()if __name__
== '__main__':main
()
最終得到結(jié)果
總結(jié)
以上是生活随笔為你收集整理的‘复杂变简单‘的代码例子的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。