最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python列表生成式應(yīng)用方式

 更新時間:2024年06月21日 11:29:29   作者:程序員的戰(zhàn)歌  
這篇文章主要介紹了Python列表生成式應(yīng)用方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

列表生成式的線上運用

建議先看Python列表生成式和字典生成式,再來看這篇。

select語句的優(yōu)化方式

In [1]: import MySQLdb as mysql

In [2]: conn=mysql.connect(user='root',host='127.0.0.1',passwd='123456',db='lyz',charset='utf8')

In [3]: conn.autocommit(True)

In [4]: cur = conn.cursor()

In [5]: info = ['id','name','name_cn','email','mobile']

In [6]: sql = 'select %s from users'%','.join(info)

In [7]: sql
Out[7]: 'select id,name,name_cn,email,mobile from users'

In [8]: cur.execute(sql)
Out[8]: 2L

In [9]: res = cur.fetchall()  # fetchall()獲得的是個嵌套的元組

In [10]: res
Out[10]:
((1L,
  u'liuyongzhan',
  u'\u5218\u6c38\u6808',
  u'1665439369@qq.com',
  u'2147483647'),
 (6L, u'lyz', u'1111', u'1111', u'1111'))

高級用法:

把嵌套元組變成一個列表,列表里嵌套字典

In [11]: ha = [dict((k,row[i]) for i,k in enumerate(info)) for row in res]

In [12]: ha
Out[12]:
[{'email': u'1665439369@qq.com',
  'id': 1L,
  'mobile': u'2147483647',
  'name': u'liuyongzhan',
  'name_cn': u'\u5218\u6c38\u6808'},
 {'email': u'1111',
  'id': 6L,
  'mobile': u'1111',
  'name': u'lyz',
  'name_cn': u'1111'}]

insert語句的優(yōu)化方式

高大上寫法:

data = dict(request.form)  # 或者前端直接以json格式傳過來,就可以寫成data=request.get_json()
ZiChan = ['hostname','cpu','mem','exdate','author','note']
sql='insert into zichan (%s) values (%s)'%(','.join(ZiChan),','.join(['"%s"'%data[x][0] for x in ZiChan]))

也可以這樣:

data = {'name':'lyz','age':26,'mobile':15768216871,'email':'1665439369@qq.com'}
key,values = [],[]                                                       
for k,v in data.items():                                                       
    key.append(k)
    values.append('"%s"'%v)
sql = 'insert into users (%s) values (%s)'%(','.join(key),','.join(values))
執(zhí)行結(jié)果:
'insert into users (mobile,age,name,email) values ("15768216871","26","lyz","1665439369@qq.com")'

update語句的優(yōu)化方式

一般寫法:

ida = request.form.get('id')
hostname = request.form.get('hostname')
cpu = request.form.get('cpu')
mem = request.form.get('mem')
exdate = request.form.get('exdate')
author = request.form.get('author')
note = request.form.get('note')
sql = 'update zichan set hostname ="%s",cpu ="%s",mem ="%s",exdate ="%s",author ="%s",note ="%s" where id=%s'%(hostname,cpu,mem,exdate,author,note,ida)

高大上寫法:

方法1:

data = dict(request.form)
ida = data.get('id',None)[0]
ZiChan = ['hostname','cpu','mem','exdate','author','note']
arr = ["%s='%s'" %(k,data[k][0]) for k in ZiChan]
sql = 'update zichan set %s where id=%s'%(','.join(arr),ida)

方法2:方法2這種寫法是最優(yōu)的,那么前端傳什么字段過來,就更新對應(yīng)字段。字段就不會寫死了。

方法1主要是前端jquery傳過來的數(shù)據(jù)沒優(yōu)化好,如果前端以json格式傳過來,而且里邊包含一個id的key和一個data的key,id就只對應(yīng)一個id,而data的value是一個字典,字典里用每個資產(chǎn)信息字段作為key,就可以用以下方法:

data = request.get_json()
ida = data.get('id',None)
data = data.get('data',None)
arr = ["%s='%s'"%(k,data[k] for k in data)]   # 結(jié)果為:["'hostname‘='xxx‘","'cpu‘='xxx‘",......]
sql = 'update zichan set %s where id=%s'%(','.join(arr),ida)

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python異步編程中asyncio.gather的并發(fā)控制詳解

    Python異步編程中asyncio.gather的并發(fā)控制詳解

    在Python異步編程生態(tài)中,asyncio.gather是并發(fā)任務(wù)調(diào)度的核心工具,本文將通過實際場景和代碼示例,展示如何結(jié)合信號量機制實現(xiàn)精準并發(fā)控制,希望對大家有所幫助
    2025-03-03
  • python構(gòu)建指數(shù)平滑預(yù)測模型示例

    python構(gòu)建指數(shù)平滑預(yù)測模型示例

    今天小編就為大家分享一篇python構(gòu)建指數(shù)平滑預(yù)測模型示例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11
  • python多線程操作實例

    python多線程操作實例

    這篇文章主要介紹了python多線程操作實例,本文先是講解了python多線程的相關(guān)知識、python多線程使用的兩種方法等內(nèi)容,需要的朋友可以參考下
    2014-11-11
  • 簡單了解Python3里的一些新特性

    簡單了解Python3里的一些新特性

    這篇文章主要介紹了簡單了解Python3里的一些新特性,給大家總結(jié)一下Python3一些新的更方便的特性!希望你們看完后也能高效率的編寫代碼,需要的朋友可以參考下
    2019-07-07
  • 在Python中發(fā)送UDP數(shù)據(jù)包的方法步驟

    在Python中發(fā)送UDP數(shù)據(jù)包的方法步驟

    本文介紹了如何在Python中使用socket模塊實現(xiàn)UDP協(xié)議,包括創(chuàng)建客戶端和服務(wù)器,發(fā)送和接收數(shù)據(jù)包的過程,重點講解了UDP的特性以及如何設(shè)置端口號和IP地址進行通信,需要的朋友可以參考下
    2025-08-08
  • Python pyinstaller庫的安裝配置教程分享

    Python pyinstaller庫的安裝配置教程分享

    pyinstaller模塊主要用于python代碼打包成exe程序直接使用,這樣在其它電腦上即使沒有python環(huán)境也是可以運行的。本文就來和大家分享一下pyinstaller庫的安裝配置教程,希望對大家有所幫助
    2023-04-04
  • python通過cookie模擬已登錄狀態(tài)的初步研究

    python通過cookie模擬已登錄狀態(tài)的初步研究

    對于那些需要在登錄環(huán)境下進行的爬蟲操作,模擬登陸或偽裝已登錄狀態(tài)是一個剛性需求。這篇文章主要介紹了python通過cookie模擬已登錄狀態(tài)的相關(guān)資料,需要的朋友可以參考下
    2016-11-11
  • Django用戶認證系統(tǒng) Web請求中的認證解析

    Django用戶認證系統(tǒng) Web請求中的認證解析

    這篇文章主要介紹了Django用戶認證系統(tǒng) Web請求中的認證解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-08-08
  • Python實現(xiàn)1-9數(shù)組形成的結(jié)果為100的所有運算式的示例

    Python實現(xiàn)1-9數(shù)組形成的結(jié)果為100的所有運算式的示例

    下面小編就為大家?guī)硪黄狿ython實現(xiàn)1-9數(shù)組形成的結(jié)果為100的所有運算式的示例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-11-11
  • python實現(xiàn)決策樹分類

    python實現(xiàn)決策樹分類

    這篇文章主要為大家詳細介紹了python實現(xiàn)決策樹分類的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-08-08

最新評論

美姑县| 嵊泗县| 竹溪县| 上犹县| 宣武区| 南部县| 正定县| 湖北省| 石家庄市| 古浪县| 昌乐县| 乐山市| 黑水县| 曲周县| 彰化市| 正镶白旗| 龙州县| 尼勒克县| 绍兴县| 宜春市| 新宁县| 宣恩县| 长沙县| 新巴尔虎左旗| 朝阳区| 恩施市| 榆树市| 若尔盖县| 娱乐| 峨边| 昭通市| 资阳市| 云阳县| 广丰县| 奉化市| 苏尼特右旗| 达日县| 富宁县| 大港区| 奎屯市| 和平县|