python根据字典自动生成一组省和市名

时间:2025-02-10 10:34:32

字典如下:

dict={
'河北省':['石家庄','唐山','秦皇岛','承德'],
'山东省':['济南','青岛','临沂','淄博'],
'湖南省':['长沙','衡阳','湘潭','邵阳','岳阳','株洲'],
'江西省':['南昌','九江','上饶','景德镇']
   }

dict.keys()返回键值组,是字典类型,用list把它转为列表,从中任取一个就是省。

列表=list(dict.keys())
省=列表[i]

 

城市列表=dict[省]

城市=城市列表[i]

所以: 城市=dict[省][i]

用random模块随机选择

代码如下 :

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import psycopg2
import random conn=psycopg2.connect('dbname=test1 user=jm password=123')
cur=conn.cursor()
cur.execute('select sid from class1') #sid 不是顺序数,
result=cur.fetchall() x={'河北省':['石家庄','唐山','秦皇岛','承德'],
'山东省':['济南','青岛','临沂','淄博'],
'湖南省':['长沙','衡阳','湘潭','邵阳','岳阳','株洲'],
'江西省':['南昌','九江','上饶','景德镇']}
for i in range(cur.rowcount):
s=list(x.keys()) #省列表
sheng=random.choice(s) #随机选一个省
city=random.choice(x[sheng]) #随机选一人市
sid=result[i][0] cur.execute('update class1 set sheng=%s,city=%s where sid=%s',(sheng,city,sid))
conn.commit()
print('ok')

python根据字典自动生成一组省和市名