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

對python中l(wèi)ist的五種查找方法說明

 更新時間:2020年07月13日 10:20:13   作者:lucas-nlp  
這篇文章主要介紹了對python中l(wèi)ist的五種查找方法說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

Python中是有查找功能的,五種方式:in、not in、count、index,find 前兩種方法是保留字,后兩種方式是列表的方法。

下面以a_list = ['a','b','c','hello'],為例作介紹:

string類型的話可用find方法去查找字符串位置:

a_list.find('a')

如果找到則返回第一個匹配的位置,如果沒找到則返回-1,而如果通過index方法去查找的話,沒找到的話會報錯。

補充知識:Python中查找包含它的列表元素的索引,index報錯?。?!

對于列表["foo", "bar", "baz"]和列表中的項目"bar",如何在Python中獲取其索引(1)?

一、index

>>> ["foo", "bar", "baz"].index("bar")

警告如下

請注意,雖然這也許是回答這個問題最徹底的方法是問,index是一個相當薄弱的組件listAPI,而我不記得我最后一次使用它的憤怒。在評論中已經(jīng)向我指出,因為這個答案被大量引用,所以應該更加完整。關于list.index跟隨的一些警告。最初可能需要查看文檔字符串:

>>> print(list.index.__doc__)
L.index(value, [start, [stop]]) -> integer -- return first index of value.
Raises ValueError if the value is not present.

我曾經(jīng)使用過的大多數(shù)地方index,我現(xiàn)在使用列表推導或生成器表達式,因為它們更具有推廣性。因此,如果您正在考慮使用index,請查看這些出色的python功能。

如果元素不在列表中,則拋出

如果項目不存在則調(diào)用index結果ValueError。

>>> [1, 1].index(2)
Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
ValueError: 2 is not in list

如果該項目可能不在列表中,您應該

首先檢查它item in my_list(干凈,可讀的方法),或

將index呼叫包裹在try/except捕獲的塊中ValueError(可能更快,至少當搜索列表很長時,該項通常存在。)

二、enumerate()

大多數(shù)答案解釋了如何查找單個索引,但如果項目在列表中多次,則它們的方法不會返回多個索引。用途enumerate():

for i, j in enumerate(['foo', 'bar', 'baz']):
  if j == 'bar':
    print(i)

該index()函數(shù)僅返回第一個匹配項,同時enumerate()返回所有匹配項。

作為列表理解:

[i for i, j in enumerate(['foo', 'bar', 'baz']) if j == 'bar']

這里還有另一個小解決方案itertools.count()(與枚舉幾乎相同):

from itertools import izip as zip, count # izip for maximum efficiency

[i for i, j in zip(count(), ['foo', 'bar', 'baz']) if j == 'bar']

對于較大的列表,這比使用更有效enumerate():

$ python -m timeit -s "from itertools import izip as zip, count" "[i for i, j in zip(count(), ['foo', 'bar', 'baz']*500) if j == 'bar']"
10000 loops, best of 3: 174 usec per loop
$ python -m timeit "[i for i, j in enumerate(['foo', 'bar', 'baz']*500) if j == 'bar']"
10000 loops, best of 3: 196 usec per loop

三、NumPy

如果您想要所有索引,那么您可以使用NumPy:

import numpy as np
 
array = [1, 2, 1, 3, 4, 5, 1]
item = 1
np_array = np.array(array)
item_index = np.where(np_array==item)
print item_index
# Out: (array([0, 2, 6], dtype=int64),)

它是清晰易讀的解決方案。

四、zip

具有該zip功能的所有索引:

get_indexes = lambda x, xs: [i for (y, i) in zip(xs, range(len(xs))) if x == y]
 
print get_indexes(2, [1, 2, 3, 4, 5, 6, 3, 2, 3, 2])
print get_indexes('f', 'xsfhhttytffsafweef')

以上這篇對python中l(wèi)ist的五種查找方法說明就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • Python3和PyCharm安裝與環(huán)境配置【圖文教程】

    Python3和PyCharm安裝與環(huán)境配置【圖文教程】

    這篇文章主要介紹了Python3和PyCharm安裝與環(huán)境配置,結合圖文形式詳細分析了Python3和PyCharm的安裝、環(huán)境配置、測試命令及相關操作注意事項,需要的朋友可以參考下
    2020-02-02
  • python實現(xiàn)自動更換ip的方法

    python實現(xiàn)自動更換ip的方法

    這篇文章主要介紹了python實現(xiàn)自動更換ip的方法,涉及Python針對本機網(wǎng)絡配置的相關操作技巧,非常具有實用價值,需要的朋友可以參考下
    2015-05-05
  • python 實現(xiàn)一次性在文件中寫入多行的方法

    python 實現(xiàn)一次性在文件中寫入多行的方法

    今天小編就為大家分享一篇python 實現(xiàn)一次性在文件中寫入多行的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-01-01
  • python對excel文檔去重及求和的實例

    python對excel文檔去重及求和的實例

    下面小編就為大家分享一篇python對excel文檔去重及求和的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-04-04
  • Python的這些庫,你知道多少?

    Python的這些庫,你知道多少?

    最近整理了一些好用的庫但是只是初級介紹,如果大家用得到的話還請自己到官網(wǎng)上查一下,因為東西太多我一 一介紹的話可能不太現(xiàn)實,需要的朋友可以參考下
    2021-06-06
  • Python中遇到的小問題及解決方法匯總

    Python中遇到的小問題及解決方法匯總

    到年底了,現(xiàn)在的時間適合寫點最近的小總結,所以下面這篇文章主要介紹了Python中遇到的一些小問題及解決方法,需要的朋友可以參考借鑒,下面來一起學習學習吧。
    2017-01-01
  • python topk()函數(shù)求最大和最小值實例

    python topk()函數(shù)求最大和最小值實例

    這篇文章主要介紹了python topk()函數(shù)求最大和最小值實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-04-04
  • python字符串,元組,列表,字典互轉代碼實例詳解

    python字符串,元組,列表,字典互轉代碼實例詳解

    這篇文章主要介紹了python字符串,元組,列表,字典互轉代碼實例詳解,需要的朋友可以參考下
    2020-02-02
  • Python?asyncore?socket客戶端開發(fā)基本使用教程

    Python?asyncore?socket客戶端開發(fā)基本使用教程

    asyncore庫是python的一個標準庫,提供了以異步的方式寫入套接字服務的客戶端和服務器的基礎結構,這篇文章主要介紹了Python?asyncore?socket客戶端開發(fā)基本使用,需要的朋友可以參考下
    2022-12-12
  • Python實現(xiàn)火柴人的設計與實現(xiàn)

    Python實現(xiàn)火柴人的設計與實現(xiàn)

    火柴人(Stick Figure)是一種極簡風格的圖形,通常由簡單的線段和圓圈組成,卻能生動地表達人物的姿態(tài)和動作,本文旨在介紹如何使用Python實現(xiàn)火柴人的設計與繪制,通過編程的方式,讓讀者了解火柴人背后的基本原理和實現(xiàn)方法,需要的朋友可以參考下
    2024-10-10

最新評論

金湖县| 万荣县| 永胜县| 兴仁县| 布尔津县| 芒康县| 江北区| 静乐县| 兰溪市| 桃园县| 读书| 平顶山市| 海南省| 永善县| 任丘市| 山阳县| 湾仔区| 财经| 仁化县| 缙云县| 柳河县| 读书| 谷城县| 民和| 兴宁市| 尚义县| 邯郸市| 陕西省| 宣汉县| 荔波县| 漳州市| 岳普湖县| 阜新市| 三门县| 汤阴县| 涟源市| 海淀区| 宁晋县| 金山区| 法库县| 宝坻区|