欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python列表生成式應用方式

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

列表生成式的線上運用

建議先看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í)行結果:
'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)的,那么前端傳什么字段過來,就更新對應字段。字段就不會寫死了。

方法1主要是前端jquery傳過來的數(shù)據(jù)沒優(yōu)化好,如果前端以json格式傳過來,而且里邊包含一個id的key和一個data的key,id就只對應一個id,而data的value是一個字典,字典里用每個資產信息字段作為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)]   # 結果為:["'hostname‘='xxx‘","'cpu‘='xxx‘",......]
sql = 'update zichan set %s where id=%s'%(','.join(arr),ida)

總結

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

相關文章

  • python實現(xiàn)得到當前登錄用戶信息的方法

    python實現(xiàn)得到當前登錄用戶信息的方法

    這篇文章主要介紹了python實現(xiàn)得到當前登錄用戶信息的方法,結合實例形式分析了Python在Linux平臺以及Windows平臺使用相關模塊獲取用戶信息的相關操作技巧,需要的朋友可以參考下
    2019-06-06
  • Python學習之魔法函數(shù)(filter,map,reduce)詳解

    Python學習之魔法函數(shù)(filter,map,reduce)詳解

    這篇文章我們將來學習一下,Python中的三個高級函數(shù):filter()、map()、reduce(),這三個函數(shù)也被稱為魔法函數(shù),感興趣的小伙伴可以了解一下
    2022-04-04
  • python采集百度百科的方法

    python采集百度百科的方法

    這篇文章主要介紹了python采集百度百科的方法,涉及Python正則匹配及頁面抓取的相關技巧,需要的朋友可以參考下
    2015-06-06
  • Python中if語句的基本格式實例代碼

    Python中if語句的基本格式實例代碼

    在Python中,if語句用于根據(jù)條件執(zhí)行不同的代碼塊。本文詳細介紹了Python中if語句的基本格式使用方法及實例代碼,有需要的同學可以參考閱讀
    2023-05-05
  • Python運算符&=使用實例探究

    Python運算符&=使用實例探究

    這篇文章主要為大家介紹了Python運算符&=使用實例探究,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2024-01-01
  • PyTorch 編寫代碼遇到的問題及解決方案

    PyTorch 編寫代碼遇到的問題及解決方案

    這篇文章主要介紹了PyTorch 編寫代碼遇到的問題及解決方案,具有很好的參考價值,希望對大家有所幫助。
    2021-06-06
  • Python3.6安裝卸載、執(zhí)行命令、執(zhí)行py文件的方法詳解

    Python3.6安裝卸載、執(zhí)行命令、執(zhí)行py文件的方法詳解

    這篇文章主要介紹了Python3.6之安裝卸載、執(zhí)行命令、執(zhí)行py文件的方法,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-02-02
  • 解決Python報錯問題[SSL:?SSLV3_ALERT_HANDSHAKE_FAILURE]

    解決Python報錯問題[SSL:?SSLV3_ALERT_HANDSHAKE_FAILURE]

    這篇文章主要介紹了解決Python報錯問題[SSL:?SSLV3_ALERT_HANDSHAKE_FAILURE],具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • 基于Python開發(fā)PDF轉Doc格式小程序

    基于Python開發(fā)PDF轉Doc格式小程序

    這篇文章主要為大家詳細介紹了如何基于Python開發(fā)PDF轉Doc格式小程序,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下
    2025-03-03
  • Python:slice與indices的用法

    Python:slice與indices的用法

    今天小編就為大家分享一篇Python:slice與indices的用法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11

最新評論