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

字典如下:

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‘)

 

时间: 2024-08-03 13:38:04

python根据字典自动生成一组省和市名的相关文章

Python使用模板自动生成代码

整体思想: 完全按照自己的想法来写的,首先写模板文件,然后打开模板文件,对模板进行字符串格式化处理,最后再将格式化后的字符串保存到新的文件里面.如有更好的想法,欢迎交流. 将相似度很高的代码写模板文件(widget_template.txt): # -*- coding: UTF-8 -*- #!/usr/bin/env python #-------------------------------------------------------------------------------

综合示例:自动生成一组新闻

点击按钮,自动生成5条新闻信息 用一组数组把5条新闻保存起来, 再运用 if 判读和 for 循环来达到自动生成的效果 1 <!DOCTYPE HTML> 2 <html> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 5 <title>无标题文档</title> 6 7 <sc

python assert: 自动生成错误信息

用过python assert的朋友应该会经常碰到这样的疑惑,如: (a,b) = (1,'1') assert a==b     # error: AssertionError 在代码调试的时候,很难直观的看出为什么错了,除非写成这样: assert 1=='1',  "fact==expect, [fact]=%s, [expect]=%s" % ([a],[b])    # AssertionError: fact==expect, [fact]=[1], [expect]=['

python+selenium之自动生成excle,保存到指定的目录下

进行之自动化测试,想把自动生成的excle保存到指定的目录下.网上百度的代码如下: 1 import xlwt 2 import time 3 time = time.strftime ('%Y%m%d%H%M%S', time.localtime (time.time ())) 4 7 w = xlwt.Workbook () # 创建一个工作簿 8 ws = w.add_sheet ('卡批量入库4.xls') # 创建一个工作表 9 ws.write (0, 0, '卡号') # 在1行1

iOS 字典自动生成模型

在实际开发中,我们经常需要根据字典来建模型.每次都打那么一串代码,想想也是挺恶心的.可以自己给NSDictionary写一个分类,进行属性生成. NSDictionary+Property.h #import <Foundation/Foundation.h> @interface NSDictionary (Property) - (void)createPropertyCode; @end NSDictionary+Property.m #import "NSDictionary

[转]用Python做一个自动生成读表代码的小脚本

写在开始(本片文章不是写给小白的,至少你应该知道一些常识!) 大家在Unity开发中,肯定会把一些数据放到配置文件中,尤其是大一点的项目,每次开发一个新功能的时候,都要重复的写那些读表代码.非常烦.来个实用小工具,大家随便看看. 1 #-*- coding: utf-8 -*- 2 #----------------------------------------------------------# 3 # 版本:python-3.5.0a3-amd64 4 # 功能:生成读表代码文件 5 #

pycharm中python模板代码自动生成

# -*- coding: utf-8 -*- """ ------------------------------------------------- File Name: ${NAME}.py Description : Author : andy9468 date: ${YEAR}/${MONTH}/${DAY} Copyright: (c) andy9468 ${YEAR} ----------------------------------------------

git如何在自动生成补丁时指定补丁名的起始编号

答:使用选项--start-number,用法如下: git format-patch 1f43be --start-number=2 这样就可以生成起始编号为2的补丁名,类似0002-me.patch,0003-your.patch 参考资料 git format-patch的使用方法 原文地址:https://www.cnblogs.com/dakewei/p/10299955.html

mybatis怎样自动生成java类,配置文件?

其实没有什么东西是可以自动生成的,只不过是别人已经写好了,你调用罢了. 所以想要mybatis自动生成java类,配置文件等,就必须要一些配置和一些jar包.当然这些配置也很简单. 为了有个初步的认识,首先我列出了所需要的文件: 其中标红的比较重要.好了,让我们开始吧 1.首先需要在数据库建好表,随便建几个就好. 2.下载mybatis-generator-core包 下载地址:http://search.maven.org/ 然后搜索mybatis-generator-core下载即可 3.下