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

Python列表生成式和字典生成式實例

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

列表生成式

格式

[ x  for  x in 可迭代對象]
[ x  for  x in 可迭代對象 if 條件]

1. 把要生成的元素 x 放到前面,執(zhí)行的時候,先執(zhí)行后面的for循環(huán)。

2. 后面跟上for循環(huán),可以有多個for循環(huán),也可以在for循環(huán)后面再加個if條件。

3. for循環(huán)后面可以是任何方式的迭代器(元組/列表/生成器..),只要可迭代對象的元素中至少有一個值。

例1:最簡單的

In [1]: [x for x in 'abcd']
Out[1]: ['a', 'b', 'c', 'd']

例2:加if判斷

In [1]: res = [10,11,12,13]
In [2]: [x for x in res if x > 10]
Out[2]: [11, 12, 13]

原生實現(xiàn):
In [1]: arr = []
In [2]: for x in res:
  ....:     if x > 10:
  ....:         arr.append(x)
  ....:         
In [3]: arr
Out[3]: [11, 12, 13]

例3:迭代字典生成列表

print [v for k,v in {'a':'one','b':'two'}.items()]
輸出:['one', 'two']

print [(k,v) for k,v in {'a':'one','b':'two'}.items()]
輸出:[('a', 'one'), ('b', 'two')]

print [k+'='+v for k,v in {'name':'lyz','age':'26','job':'IT'}.items()]
輸出:['job=IT', 'age=26', 'name=lyz']

字典生成式

格式

1. 在Python2.6或更早的版本,字典生成器可以接受迭代的鍵/值對。

d = dict((key, value) for (key, value) in iterable)

說明:

第一個k,v的()必須寫,第二個()可不寫。

2.6版本就是利用dict()函數(shù),函數(shù)的參數(shù)是一個嵌套的序列,序列的元素是元組。

2. 從Python2.7或者3以后,你可以直接用字典推導(dǎo)式語法。

d = {key: value for (key, value) in iterable} # k,v的()可以不寫

3. python2.7以上兼容兩種寫法,python2.6只能用第一種。

4. 可以用任何方式的迭代器(元組,列表,生成器..),只要可迭代對象的元素中有兩個值。

python2.7寫法

dict1 = {'one':1,'two':2,'three':3}
dict2 = {v:k for k,v in dict1.items()}
print dict2
輸出:
{1: 'one', 2: 'two', 3: 'three'}

python2.6寫法

dict1 = {'one':1,'two':2,'three':3}
dict3 = dict((v,k) for k,v in dict1.items())
print dict3
輸出:
{1: 'one', 2: 'two', 3: 'three'}

例1:兩種生成式方式生成字典

In [1]: arr=['wd','18','nan']
In [2]: dict((k,v) for k,v in enumerate(arr))
Out[2]: {0: 'wd', 1: '18', 2: 'nan'}
In [3]: {k:v for k,v in enumerate(arr)}
Out[3]: {0: 'wd', 1: '18', 2: 'nan'}

例2:線上實例

arr = [{'id':1,'name':'lyz','age':26},{'id':2,'name':'pc','age':30}]
print {str(x['id']):x['name'] for x in arr}
執(zhí)行結(jié)果:
{'1': 'lyz', '2': 'pc'}

其他生成字典的方法

1. dict()函數(shù)

嵌套元組和嵌套類別可以直接通過dict命令轉(zhuǎn)為字典(嵌套內(nèi)部的元素只能是2個)

>>> a = [(1, 'ab'), (2, 'bc')]
>>> dict(a)
{1: 'ab', 2: 'bc'}

>>> result = ((1, 'ab'), (2, 'bc'))
>>> dict(result)
{1: 'ab', 2: 'bc'}

2. zip()函數(shù)

將多個元組或列表合并,合并規(guī)則是每個元組元素個數(shù)一致

In [1]: zip(('name','age','sex'),('wd','18','nan'))
Out[1]: [('name', 'wd'), ('age', '18'), ('sex', 'nan')]

In [2]: zip(['name','age','sex'],['wd','18','nan'])
Out[2]: [('name', 'wd'), ('age', '18'), ('sex', 'nan')]

In [3]: dict(zip(('name','age','sex'),('wd','18','nan')))  # 生產(chǎn)環(huán)境最常用
Out[3]: {'age': '18', 'name': 'wd', 'sex': 'nan'}

In [4]: zip(['name','age','sex'],['wd','18','nan'],['11',22])  # 列表元素個數(shù)不一致,以最少對列表為準(zhǔn)
Out[4]: [('name', 'wd', '11'), ('age', '18', 22)]

總結(jié)

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

相關(guān)文章

  • Python聚類算法之基本K均值實例詳解

    Python聚類算法之基本K均值實例詳解

    這篇文章主要介紹了Python聚類算法之基本K均值運算技巧,結(jié)合實例形式較為詳細(xì)的分析了基本K均值的原理與相關(guān)實現(xiàn)技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-11-11
  • Python 添加文件注釋和函數(shù)注釋操作

    Python 添加文件注釋和函數(shù)注釋操作

    這篇文章主要介紹了Python 添加文件注釋和函數(shù)注釋操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-08-08
  • python打開網(wǎng)頁和暫停實例

    python打開網(wǎng)頁和暫停實例

    這篇文章主要介紹了python打開網(wǎng)頁和暫停實例,涉及webbrowser模塊與os模塊的使用,是非常具有實用價值的一個技巧,需要的朋友可以參考下
    2014-09-09
  • python?json-rpc?規(guī)范源碼閱讀

    python?json-rpc?規(guī)范源碼閱讀

    這篇文章主要為大家介紹了python?json-rpc?規(guī)范的源碼閱讀,以及jsonrpcclient與jsonrpcserver的實現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-10-10
  • python實現(xiàn)的web監(jiān)控系統(tǒng)

    python實現(xiàn)的web監(jiān)控系統(tǒng)

    這篇文章主要介紹了python實現(xiàn)的web監(jiān)控系統(tǒng),幫助大家更好的理解和學(xué)習(xí)使用python,感興趣的朋友可以了解下
    2021-04-04
  • python3 logging日志封裝實例

    python3 logging日志封裝實例

    這篇文章主要介紹了python3 logging日志封裝實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-04-04
  • python實現(xiàn)根據(jù)ip地址反向查找主機(jī)名稱的方法

    python實現(xiàn)根據(jù)ip地址反向查找主機(jī)名稱的方法

    這篇文章主要介紹了python實現(xiàn)根據(jù)ip地址反向查找主機(jī)名稱的方法,涉及Python使用socket解析IP的相關(guān)技巧,非常具有實用價值,需要的朋友可以參考下
    2015-04-04
  • 利用python編寫自動整理下載目錄工具

    利用python編寫自動整理下載目錄工具

    經(jīng)常用電腦的一定會遇到這種情況:每天我們都在從瀏覽器、微信、釘釘里下各種文件,什么截圖、合同、安裝包、臨時文檔,全都堆在下載文件夾里,結(jié)果某天想找一個發(fā)票 PDF 找了快十分鐘,才找到,所以本文給大家分享如何利用python編寫一個自動整理下載目錄工具
    2025-05-05
  • 對Python中畫圖時候的線類型詳解

    對Python中畫圖時候的線類型詳解

    今天小編就為大家分享一篇對Python中畫圖時候的線類型詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-07-07
  • Python 切分?jǐn)?shù)組實例解析

    Python 切分?jǐn)?shù)組實例解析

    這篇文章主要介紹了Python 切分?jǐn)?shù)組實例解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-11-11

最新評論

玉环县| 嫩江县| 恭城| 泽普县| 奉贤区| 沁源县| 博罗县| 贡山| 安义县| 仲巴县| 仁化县| 新平| 城固县| 江阴市| 深水埗区| 山阳县| 竹山县| 夹江县| 湟中县| 天祝| 历史| 武城县| 沐川县| 伽师县| 新化县| 云南省| 梓潼县| 会东县| 辽中县| 墨竹工卡县| 建水县| 东辽县| 靖边县| 贺州市| 云霄县| 阳西县| 芜湖县| 龙里县| 眉山市| 德钦县| 上栗县|