字典如下:
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')