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

python實(shí)現(xiàn)合并多個(gè)list及合并多個(gè)django QuerySet的方法示例

 更新時(shí)間:2019年06月11日 11:02:52   作者:輕舞肥羊  
這篇文章主要介紹了python實(shí)現(xiàn)合并多個(gè)list及合并多個(gè)django QuerySet的方法,結(jié)合實(shí)例形式分析了Python使用chain合并多個(gè)list以及合并Django中多個(gè)QuerySet的相關(guān)操作技巧,需要的朋友可以參考下

本文實(shí)例講述了python實(shí)現(xiàn)合并多個(gè)list及合并多個(gè)django QuerySet的方法。分享給大家供大家參考,具體如下:

在用python或者django寫一些小工具應(yīng)用的時(shí)候,有可能會(huì)遇到合并多個(gè)list到一個(gè) list 的情況。單純從技術(shù)角度來(lái)說(shuō),處理起來(lái)沒(méi)什么難度,能想到的辦法很多,但我覺(jué)得有一個(gè)很簡(jiǎn)單而且效率比較高的方法是我以前沒(méi)注意到的。那就是利用 chain 方法來(lái)合并多個(gè)list. 同樣也可以用來(lái)合并django 的 QuerySet.

1. python用chain 來(lái)合并多個(gè)list

chain 是用C實(shí)現(xiàn)的,自然性能上比較可靠。下面看下基本用法:

#coding:utf-8
from itertools import chain
a = [1,2,"aaa",{"name":"roy","age":100}]
b = [3,4]
c = [5,6]
#items = a + b + c
items = chain(a,b,c)
for item in items:
  print item

輸出結(jié)果如下:

1
2
aaa
{'age': 100, 'name': 'roy'}
3
4
5
6

由此可見可以很好的合并成功。

2. 在Django 中用 chain 合并多個(gè)QuerySet.

本身如果在Django中如果要合并同一個(gè)model的多個(gè)QuerySet 的話,是可以采用這種方式的.

#coding:utf-8
from itertools import chain
from yihaomen.common.models import Article
articles1 = Article.objects.order_by("autoid").filter(autoid__lt = 16).values('autoid','title')
articles2 = Article.objects.filter(autoid = 30).values('autoid','title')
articles = articles1 | articles2 # 注意這里采用的方式。如果 Model相同,而且沒(méi)有用切片,并且字段一樣時(shí)可以這樣用
print articles1
print articles2
print articles

這樣能很好的工作,但有些局限性,對(duì)于Django 來(lái)說(shuō)很多情況下也夠用了,合并到一個(gè) QuerySet 中,然后返回到模板引擎中去處理。

當(dāng)然也可以用chain 來(lái)實(shí)現(xiàn),用chain 來(lái)實(shí)現(xiàn)會(huì)更方便,也沒(méi)那么多限制條件,即使是不同的MODEL中查詢出來(lái)的數(shù)據(jù),都可以很方便的合并到一個(gè) list 中去.

#coding:utf-8
from itertools import chain
from yihaomen.common.models import Article, UserID
articles1 = Article.objects.order_by("autoid").filter(autoid__lt = 16).values('autoid','title')
users = UserID.objects.all()
items = chain(articles1, users)
for item in items:
  print item

這樣做更方便,也很實(shí)用, 對(duì)于處理某些需要合并的list 然后再傳輸?shù)侥骋粋€(gè)地方去的情況下,這樣做很方便。

更多Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python列表(list)操作技巧總結(jié)》、《Python編碼操作技巧總結(jié)》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》、《Python入門與進(jìn)階經(jīng)典教程》及《Python文件與目錄操作技巧匯總

希望本文所述對(duì)大家Python程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • 如何利用Python打開txt格式的文件

    如何利用Python打開txt格式的文件

    在機(jī)器學(xué)習(xí)中,常常需要讀取txt文本中的數(shù)據(jù),這篇文章主要給大家介紹了關(guān)于如何利用Pythont打開txt格式的文件的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳解,需要的朋友可以參考下
    2021-10-10
  • Python基于更相減損術(shù)實(shí)現(xiàn)求解最大公約數(shù)的方法

    Python基于更相減損術(shù)實(shí)現(xiàn)求解最大公約數(shù)的方法

    這篇文章主要介紹了Python基于更相減損術(shù)實(shí)現(xiàn)求解最大公約數(shù)的方法,簡(jiǎn)單說(shuō)明了更相減損術(shù)的概念、原理并結(jié)合Python實(shí)例形式分析了基于更相減損術(shù)實(shí)現(xiàn)求解最大公約數(shù)的相關(guān)操作技巧與注意事項(xiàng),需要的朋友可以參考下
    2018-04-04
  • 詳解用Python調(diào)用百度地圖正/逆地理編碼API

    詳解用Python調(diào)用百度地圖正/逆地理編碼API

    這篇文章主要介紹了詳解用Python調(diào)用百度地圖正/逆地理編碼API,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • Python?實(shí)現(xiàn)驅(qū)動(dòng)AI機(jī)器人

    Python?實(shí)現(xiàn)驅(qū)動(dòng)AI機(jī)器人

    這篇文章主要介紹了Python?實(shí)現(xiàn)驅(qū)動(dòng)AI機(jī)器人,下文圍繞利用Python?實(shí)現(xiàn)驅(qū)動(dòng)AI機(jī)器人的相關(guān)資料展開內(nèi)容,需要的小伙伴可以參考一下
    2022-02-02
  • python GUI庫(kù)圖形界面開發(fā)之PyQt5中QMainWindow, QWidget以及QDialog的區(qū)別和選擇

    python GUI庫(kù)圖形界面開發(fā)之PyQt5中QMainWindow, QWidget以及QDialog的區(qū)別和選擇

    這篇文章主要介紹了python GUI庫(kù)圖形界面開發(fā)之PyQt5中QMainWindow, QWidget以及QDialog的區(qū)別和選擇,需要的朋友可以參考下
    2020-02-02
  • Python計(jì)算序列相似度的算法實(shí)例

    Python計(jì)算序列相似度的算法實(shí)例

    這篇文章主要介紹了Python計(jì)算序列相似度的算法實(shí)例,求兩個(gè)序列轉(zhuǎn)換的最少交換步驟和最小交換距離,本文提供了部分實(shí)現(xiàn)代碼與解決思路,對(duì)開發(fā)非常有幫助,需要的朋友可以參考下
    2023-07-07
  • python中根據(jù)字符串調(diào)用函數(shù)的實(shí)現(xiàn)方法

    python中根據(jù)字符串調(diào)用函數(shù)的實(shí)現(xiàn)方法

    下面小編就為大家?guī)?lái)一篇python中根據(jù)字符串調(diào)用函數(shù)的實(shí)現(xiàn)方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考,一起跟隨小編過(guò)來(lái)看看吧
    2016-06-06
  • Python列表切片常用操作實(shí)例解析

    Python列表切片常用操作實(shí)例解析

    這篇文章主要介紹了Python列表切片常用操作實(shí)例解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-03-03
  • Python3使用xlrd、xlwt處理Excel方法數(shù)據(jù)

    Python3使用xlrd、xlwt處理Excel方法數(shù)據(jù)

    這篇文章主要介紹了Python3使用xlrd、xlwt處理Excel方法數(shù)據(jù),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-02-02
  • python計(jì)算程序開始到程序結(jié)束的運(yùn)行時(shí)間和程序運(yùn)行的CPU時(shí)間

    python計(jì)算程序開始到程序結(jié)束的運(yùn)行時(shí)間和程序運(yùn)行的CPU時(shí)間

    這篇文章主要介紹了python計(jì)算程序開始到程序結(jié)束的運(yùn)行時(shí)間和程序運(yùn)行的CPU時(shí)間的三個(gè)方法,大家參考使用
    2013-11-11

最新評(píng)論