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

Python中二維列表如何獲取子區(qū)域元素的組成

 更新時(shí)間:2017年01月19日 14:24:11   作者:瓜園耕讀  
這篇文章主要給大家介紹了Python中二維列表是如何獲取子區(qū)域元素的組成,文中給出了詳細(xì)的介紹和示例代碼,相信對(duì)大家的理解和學(xué)習(xí)具有一定的參考借鑒價(jià)值,有需要的朋友們下面來(lái)一起看看吧。

用過(guò)NumPY的應(yīng)該都知道,在二維數(shù)組中可以方便地使用區(qū)域切片功能,如下圖:

而這個(gè)功能在Python標(biāo)準(zhǔn)庫(kù)的List中是不支持的,在List中只能以一維方式來(lái)進(jìn)行切片操作:

但有時(shí)候我只想用一下這個(gè)功能,但又不想引入NumPY。其實(shí)這時(shí)候我也是可以在Python中實(shí)現(xiàn)的。這時(shí)候,只需在一個(gè)類(lèi)中實(shí)現(xiàn)__getitem__特殊方法:

class Array:
 """實(shí)現(xiàn)__getitem__,支持序列獲取元素、Slice等特性"""

 def __init__(self, lst):
  self.__coll = lst

 def __repr__(self):
  """顯示列表"""

  return '{!r}'.format(self.__coll)

 def __getitem__(self, key):
  """獲取元素"""
  slice1, slice2 = key
  row1 = slice1.start
  row2 = slice1.stop
  col1 = slice2.start
  col2 = slice2.stop
  return [self.__coll[r][col1:col2] for r in range(row1, row2)]

試試看:

a = Array([['a', 'b', 'c', 'd'],
   ['e', 'f', 'g', 'h'],
   ['i', 'j', 'k', 'l'],
   ['m', 'n', 'o', 'p'],
   ['q', 'r', 's', 't'],
   ['u', 'v', 'w', 'x']])

print(a[1:5, 1:3])

官方文檔對(duì)__getitem__的解釋?zhuān)?/p>

簡(jiǎn)而言之,其主要用來(lái)獲取self[key]的值。

我在這里為了突出問(wèn)題解決,只列出了關(guān)鍵代碼,異常判斷、邊界檢查、條件限制,甚至其他一些特殊方法如__setitem__ 、 __delitem____len__等代碼,需視實(shí)際情況添加。

當(dāng)然,也有其他處理方式,如以下所示代碼,但不同方法無(wú)疑給了我各種場(chǎng)景下的多種選項(xiàng)。

a = [['a', 'b', 'c', 'd'],
  ['e', 'f', 'g', 'h'],
  ['i', 'j', 'k', 'l'],
  ['m', 'n', 'o', 'p'],
  ['q', 'r', 's', 't'],
  ['u', 'v', 'w', 'x']]

sl = lambda row1, row2, col1, col2, lst: \
  [lst[r][col1:col2] for r in range(row1, row2)]

sl(1, 5, 1, 3, a)

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,Python編程一個(gè)吸引我的地方就是,它就像是一座金礦,挖著挖著很可能就挖出些意想不到的樂(lè)趣出來(lái)。希望本文的內(nèi)容對(duì)大家學(xué)習(xí)或者使用python能有一定的幫助,如果有疑問(wèn)大家可以留言交流。

相關(guān)文章

  • Python Matplotlib繪制箱線圖的全過(guò)程

    Python Matplotlib繪制箱線圖的全過(guò)程

    又稱(chēng)箱形圖(boxplot)或盒式圖,數(shù)據(jù)大小、占比、趨勢(shì)等等的呈現(xiàn)其包含一些統(tǒng)計(jì)學(xué)的均值、分位數(shù)、極值等等統(tǒng)計(jì)量,因此該圖信息量較大,下面這篇文章主要給大家介紹了關(guān)于Python Matplotlib繪制箱線圖的相關(guān)資料,需要的朋友可以參考下
    2021-09-09
  • OpenCV之理解KNN鄰近算法k-Nearest?Neighbour

    OpenCV之理解KNN鄰近算法k-Nearest?Neighbour

    這篇文章主要為大家介紹了OpenCV之理解KNN鄰近算法k-Nearest?Neighbour,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-05-05
  • Python編程ContextManager上下文管理器講解

    Python編程ContextManager上下文管理器講解

    這篇文章主要介紹了Python編程中對(duì)Context Manager上下文管理器的詳解說(shuō)明,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步
    2021-09-09
  • 詳解pandas DataFrame的查詢方法(loc,iloc,at,iat,ix的用法和區(qū)別)

    詳解pandas DataFrame的查詢方法(loc,iloc,at,iat,ix的用法和區(qū)別)

    這篇文章主要介紹了詳解pandas DataFrame的查詢方法(loc,iloc,at,iat,ix的用法和區(qū)別),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • 詳解python單元測(cè)試框架unittest

    詳解python單元測(cè)試框架unittest

    本篇文章給大家詳解了python單元測(cè)試框架unittest的相關(guān)知識(shí)點(diǎn),有興趣的朋友參考學(xué)習(xí)下。
    2018-07-07
  • python合并多個(gè)excel文件的示例

    python合并多個(gè)excel文件的示例

    這篇文章主要介紹了python合并多個(gè)excel文件的示例,幫助大家提高辦公效率,感興趣的朋友可以了解下
    2020-09-09
  • Python+Dlib+Opencv實(shí)現(xiàn)人臉采集并表情判別功能的代碼

    Python+Dlib+Opencv實(shí)現(xiàn)人臉采集并表情判別功能的代碼

    這篇文章主要介紹了Python+Dlib+Opencv實(shí)現(xiàn)人臉采集并表情判別,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-07-07
  • python3讀取autocad圖形文件.py實(shí)例

    python3讀取autocad圖形文件.py實(shí)例

    這篇文章主要介紹了python3讀取autocad圖形文件.py實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-06-06
  • Python中單、雙下劃線的區(qū)別總結(jié)

    Python中單、雙下劃線的區(qū)別總結(jié)

    這篇文章主要給大家介紹了關(guān)于Python中單、雙下劃線區(qū)別的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-12-12
  • Django的開(kāi)發(fā)步驟原來(lái)是這樣的

    Django的開(kāi)發(fā)步驟原來(lái)是這樣的

    這篇文章主要為大家詳細(xì)介紹了Django的開(kāi)發(fā)步驟,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
    2022-02-02

最新評(píng)論

井冈山市| 邵阳县| 正镶白旗| 额敏县| 丹东市| 台湾省| 东台市| 句容市| 和林格尔县| 六安市| 东丰县| 体育| 清原| 华蓥市| 瓦房店市| 哈密市| 临澧县| 哈密市| 南安市| 文安县| 公安县| 图木舒克市| 沙湾县| 介休市| 忻州市| 灌云县| 郯城县| 茌平县| 永川市| 抚远县| 嘉禾县| 永德县| 苗栗县| 蒲江县| 贡嘎县| 南宁市| 昌吉市| 东至县| 阜宁县| 乌恰县| 肇庆市|