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

Python中使用filter過濾列表的一個小技巧分享

 更新時間:2020年05月02日 10:46:56   作者:杰瑞26  
這篇文章主要介紹了Python中使用filter過濾列表的一個小技巧分享,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

有的時候使用dir(Module),可以查看里面的方法,但是模塊自帶的屬性"__"開頭的也會顯示,如下:

>>> import random
>>> dir(random)
['BPF', 'LOG4', 'NV_MAGICCONST', 'RECIP_BPF', 'Random', 'SG_MAGICCONST', 'SystemRandom', 'TWOPI', 'WichmannHill', '_Buil
tinMethodType', '_MethodType', '__all__', '__builtins__', '__doc__', '__file__', '__name__', '__package__', '_acos', '_c
eil', '_cos', '_e', '_exp', '_hashlib', '_hexlify', '_inst', '_log', '_pi', '_random', '_sin', '_sqrt', '_test', '_test_
generator', '_urandom', '_warn', 'betavariate', 'choice', 'division', 'expovariate', 'gammavariate', 'gauss', 'getrandbi
ts', 'getstate', 'jumpahead', 'lognormvariate', 'normalvariate', 'paretovariate', 'randint', 'random', 'randrange', 'sam
ple', 'seed', 'setstate', 'shuffle', 'triangular', 'uniform', 'vonmisesvariate', 'weibullvariate']
>>>

這個時候想過濾以"_"或"__"開頭的方法,可以:

>>> filter(lambda s: not s.startswith("_"), dir(random))
['BPF', 'LOG4', 'NV_MAGICCONST', 'RECIP_BPF', 'Random', 'SG_MAGICCONST', 'SystemRandom', 'TWOPI', 'WichmannHill', 'betav
ariate', 'choice', 'division', 'expovariate', 'gammavariate', 'gauss', 'getrandbits', 'getstate', 'jumpahead', 'lognormv
ariate', 'normalvariate', 'paretovariate', 'randint', 'random', 'randrange', 'sample', 'seed', 'setstate', 'shuffle', 't
riangular', 'uniform', 'vonmisesvariate', 'weibullvariate']
>>>

從上面來看,使用filter()函數(shù),結(jié)合lambda函數(shù)很好的完成了任務(wù)。 其他的例子,比如想從一個列表中過濾非數(shù)字的字符串列表:

>>> L = ["1234", "ABCD", "BOOK"]
>>> filter(lambda s: s.isdigit(), L)
['1234']
>>>

補(bǔ)充知識:python不同長度列表,對應(yīng)合并

1. 說明

lis1 = [{‘OS_bit': u'64 \u4f4d',
‘OS_version': ‘10.0.10240',
‘OS_name': u'Microsoft Windows 10 \u4f01\u4e1a\u7248 2015 \u957f\u671f\u670d\u52a1\u65b9\u6848'}]
lis2 = [{‘ip':‘10.20.122.32'}]
lis3 = [{‘CPU_name': u'Intel® Core™ i5-4200H CPU @ 2.80GHz'}]
lis4 = [{‘memory_size': ‘1600MHz',
‘memory_name': u'Physical Memory 0'},
{‘memory_size': ‘1600MHz',
‘memory_name': u'Physical Memory 2'}]
lis5 = [{‘GPU_name': u'NVIDIA GeForce GTX 950M',
‘GPU_size': ‘2G'},
{‘GPU_name': u'Intel® HD Graphics 4600',
‘GPU_size': ‘1G'}]

有這五個列表,要求合并成一個列表,并且所有列表的第一元素放在新列表的第一元素,以此類推。

2. 代碼

# !/usr/bin/env/python
# _*_coding:utf-8_*_
# Data:2019-04-10
# Auther:蘇莫
# Link:QQ2388873062
# Address:https://blog.csdn.net/lingluofengzang
# PythonVersion:python2.7

import sys

reload(sys)
sys.setdefaultencoding('utf-8')

lis1 = [{'OS_bit': u'64 \u4f4d', 
 'OS_version': '10.0.10240', 
 'OS_name': u'Microsoft Windows 10 \u4f01\u4e1a\u7248 2015 \u957f\u671f\u670d\u52a1\u65b9\u6848'}]
lis2 = [{'ip':'10.20.122.32'}]
lis3 = [{'CPU_name': u'Intel(R) Core(TM) i5-4200H CPU @ 2.80GHz'}]
lis4 = [{'memory_size': '1600MHz', 
 'memory_name': u'Physical Memory 0'}, 
 {'memory_size': '1600MHz', 
 'memory_name': u'Physical Memory 2'}]
lis5 = [{'GPU_name': u'NVIDIA GeForce GTX 950M', 
 'GPU_size': '2G'}, 
 {'GPU_name': u'Intel(R) HD Graphics 4600', 
 'GPU_size': '1G'}]

is_all = [lis1,lis2,lis3,lis4,lis5]
#l print lis_all

new_lis = []
for j in range(2):
 lis = {}
 for i in range(len(lis_all)):
 try:
  lis = dict(lis, **lis_all[i][j])
 except Exception as e:
  pass
 # else:
 new_lis.append(lis)

print new_lis

3.結(jié)果

以上這篇Python中使用filter過濾列表的一個小技巧分享就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python使用Scrapy爬取妹子圖

    Python使用Scrapy爬取妹子圖

    前面我們給大家介紹了使用nodejs來爬取妹紙圖片的方法,下面我們來看下使用Python是如何實現(xiàn)的呢,有需要的小伙伴參考下吧。
    2015-05-05
  • 用Python遍歷C盤dll文件的方法

    用Python遍歷C盤dll文件的方法

    這篇文章主要介紹了用Python遍歷C盤dll文件的方法,用fnmatch模塊實現(xiàn)起來非常簡單,需要的朋友可以參考下
    2015-05-05
  • Pytorch DataLoader shuffle驗證方式

    Pytorch DataLoader shuffle驗證方式

    這篇文章主要介紹了Pytorch DataLoader shuffle驗證方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • python中計算一個列表中連續(xù)相同的元素個數(shù)方法

    python中計算一個列表中連續(xù)相同的元素個數(shù)方法

    今天小編就為大家分享一篇python中計算一個列表中連續(xù)相同的元素個數(shù)方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-06-06
  • python 合并文件的具體實例

    python 合并文件的具體實例

    提供了很多個文件,需要對文件分析,如果每次讀取多個文件,造成很多麻煩,所以需要對源文件進(jìn)行合并預(yù)處理。
    2013-08-08
  • Python實現(xiàn)關(guān)鍵路徑和七格圖計算詳解

    Python實現(xiàn)關(guān)鍵路徑和七格圖計算詳解

    這篇文章主要為大家詳細(xì)介紹了如何利用Python實現(xiàn)關(guān)鍵路徑和七格圖計算,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起了解一下
    2023-03-03
  • 初步解析Python下的多進(jìn)程編程

    初步解析Python下的多進(jìn)程編程

    這篇文章主要介紹了初步解析Python下的多進(jìn)程編程,使用多進(jìn)程編程一直是Python編程當(dāng)中的重點(diǎn)和難點(diǎn),需要的朋友可以參考下
    2015-04-04
  • python自動化測試selenium核心技術(shù)等待條件教程

    python自動化測試selenium核心技術(shù)等待條件教程

    這篇文章主要為大家介紹了python自動化測試selenium核心技術(shù)等待條件教程的示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助
    2021-11-11
  • 淺析Python多線程下的變量問題

    淺析Python多線程下的變量問題

    這篇文章主要介紹了Python多線程下的變量問題,由于GIL的存在,Python的多線程編程問題一直是開發(fā)者中的熱點(diǎn)話題,需要的朋友可以參考下
    2015-04-04
  • Python可跨平臺實現(xiàn)獲取按鍵的方法

    Python可跨平臺實現(xiàn)獲取按鍵的方法

    這篇文章主要介紹了Python可跨平臺實現(xiàn)獲取按鍵的方法,分別針對windows及Unix等不同平臺獲取按鍵的技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-03-03

最新評論