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

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

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

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

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

但有時候我只想用一下這個功能,但又不想引入NumPY。其實(shí)這時候我也是可以在Python中實(shí)現(xiàn)的。這時候,只需在一個類中實(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])

官方文檔對__getitem__的解釋:

簡而言之,其主要用來獲取self[key]的值。

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

當(dā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é)

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

相關(guān)文章

  • Python Matplotlib繪制箱線圖的全過程

    Python Matplotlib繪制箱線圖的全過程

    又稱箱形圖(boxplot)或盒式圖,數(shù)據(jù)大小、占比、趨勢等等的呈現(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編程中對Context Manager上下文管理器的詳解說明,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(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ū)別),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • 詳解python單元測試框架unittest

    詳解python單元測試框架unittest

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

    python合并多個excel文件的示例

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

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

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

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

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

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

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

    Django的開發(fā)步驟原來是這樣的

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

最新評論

赤峰市| 南充市| 治县。| 莆田市| 合川市| 福建省| 潞西市| 陆川县| 前郭尔| 当雄县| 英德市| 澎湖县| 休宁县| 剑川县| 涞源县| 绥化市| 尚志市| 潜山县| 宜良县| 天水市| 翁牛特旗| 隆子县| 辛集市| 五台县| 延庆县| 木里| 金平| 辽阳市| 河西区| 赤峰市| 宜川县| 象山县| 霍州市| 北海市| 缙云县| 桐乡市| 定结县| 镇坪县| 盐池县| 常山县| 信阳市|