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

Python檢測(cè)字符串中是否包含某字符集合中的字符

 更新時(shí)間:2015年05月21日 10:54:18   投稿:junjie  
這篇文章主要介紹了Python檢測(cè)字符串中是否包含某字符集合中的字符,需要的朋友可以參考下

目的

  檢測(cè)字符串中是否包含某字符集合中的字符

方法

  最簡(jiǎn)潔的方法如下,清晰,通用,快速,適用于任何序列和容器

復(fù)制代碼 代碼如下:

def containAny(seq,aset):
    for c in seq:
         if c in aset:
                return True
    return False

      第二種適用itertools模塊來(lái)可以提高一點(diǎn)性能,本質(zhì)上與前者是同種方法(不過(guò)此方法違背了Python的核心觀點(diǎn):簡(jiǎn)潔,清晰)

itertools.ifilter(predicate, iterable)的說(shuō)明

Make an iterator that filters elements from iterable returning only those for which the predicate is True. If predicate is None, return the items that are true.

例如:

ifilter(lambda x: x%2, range(10)) --> 1 3 5 7 9

復(fù)制代碼 代碼如下:

 import itertools

def  containAny(seq,aset):

     for item in itertools.ifilter(aset.__contain__,seq):

            return True

     return False


 

如果要檢測(cè)兩個(gè)字符串是否為包含關(guān)系,此時(shí)必須檢查所有子項(xiàng),最好適用set類型,其中set(aset).difference(seq)是指存在于aset中而seq沒(méi)有的元素:

復(fù)制代碼 代碼如下:

def  containAll(seq,aset):
      return not set(aset).difference(seq)

例如下面這個(gè)例子:

復(fù)制代碼 代碼如下:

In [4]: L1=[1,2,3,4]

In [5]: L2=[1,4,3,1]

In [6]: containAll(L1,L2)
Out[6]: True

In [7]: containAll(L2,L1)
Out[7]: False


 

注意一下,set.symmetric_difference是指兩個(gè)集合獨(dú)有的元素

復(fù)制代碼 代碼如下:

In [9]: L2=[3,2,4,5]
In [10]: x=set(L1)
In [11]: x.symmetric_difference(L2)
Out[11]: set([1, 5])

相關(guān)文章

  • Python?Scala中使用def語(yǔ)句定義方法的詳細(xì)過(guò)程

    Python?Scala中使用def語(yǔ)句定義方法的詳細(xì)過(guò)程

    這篇文章主要介紹了Python?Scala中使用def語(yǔ)句定義方法,Scala的方法是類的一部分,而函數(shù)是一個(gè)對(duì)象可以賦值給一個(gè)變量,下面來(lái)講解Scala的方法,需要的朋友可以參考下
    2022-09-09
  • python將回車作為輸入內(nèi)容的實(shí)例

    python將回車作為輸入內(nèi)容的實(shí)例

    今天小編就為大家分享一篇python將回車作為輸入內(nèi)容的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-06-06
  • python中bottle使用實(shí)例代碼

    python中bottle使用實(shí)例代碼

    這篇文章主要介紹了python bottle使用實(shí)例,主要是搞懂python中如何來(lái)組織包,如何調(diào)用包,如何讀取配置文件,連接數(shù)據(jù)庫(kù),設(shè)置路由,路由分組,具體示例代碼跟隨小編一起看看吧
    2021-08-08
  • python構(gòu)造IP報(bào)文實(shí)例

    python構(gòu)造IP報(bào)文實(shí)例

    這篇文章主要介紹了python構(gòu)造IP報(bào)文實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-05-05
  • 深入理解Python異常處理的哲學(xué)

    深入理解Python異常處理的哲學(xué)

    這篇文章主要給大家介紹了關(guān)于Python異常處理的哲學(xué),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-02-02
  • LyScript實(shí)現(xiàn)對(duì)內(nèi)存堆棧掃描的方法詳解

    LyScript實(shí)現(xiàn)對(duì)內(nèi)存堆棧掃描的方法詳解

    LyScript插件中提供了三種基本的堆棧操作方法,其中push_stack用于入棧,pop_stack用于出棧,peek_stac可用于檢查指定堆棧位置處的內(nèi)存參數(shù)。所以本文將利用這一特性實(shí)現(xiàn)對(duì)內(nèi)存堆棧掃描,感興趣的可以了解一下
    2022-08-08
  • Python實(shí)例方法與類方法和靜態(tài)方法介紹與區(qū)別分析

    Python實(shí)例方法與類方法和靜態(tài)方法介紹與區(qū)別分析

    在 Python 中,實(shí)例方法(instance method),類方法(class method)與靜態(tài)方法(static method)經(jīng)常容易混淆。本文通過(guò)代碼例子來(lái)說(shuō)明它們的區(qū)別
    2022-10-10
  • python中24小時(shí)制轉(zhuǎn)換為12小時(shí)制的方法

    python中24小時(shí)制轉(zhuǎn)換為12小時(shí)制的方法

    最近需要實(shí)現(xiàn)一個(gè)需求,求用戶輸入24小時(shí)制的時(shí)間,然后顯示12小時(shí)制的時(shí)間。具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-06-06
  • Python學(xué)習(xí)之線程池與GIL全局鎖詳解

    Python學(xué)習(xí)之線程池與GIL全局鎖詳解

    本文我們將學(xué)習(xí)線程池的創(chuàng)建與全局鎖。線程池的創(chuàng)建于進(jìn)程池的原理是相同的;關(guān)于GIL全局鎖,暫時(shí)沒(méi)有代碼上的練習(xí),而是對(duì)其概念進(jìn)行一個(gè)簡(jiǎn)單的啟蒙,感興趣的可以了解一下
    2022-04-04
  • Python轉(zhuǎn)換HTML到Text純文本的方法

    Python轉(zhuǎn)換HTML到Text純文本的方法

    這篇文章主要介紹了Python轉(zhuǎn)換HTML到Text純文本的方法,分析了常用的兩種方法,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2015-01-01

最新評(píng)論