Heim  >  Artikel  >  Backend-Entwicklung  >  So erhalten Sie die Zusammensetzung von Unterregionselementen aus einer zweidimensionalen Liste in Python

So erhalten Sie die Zusammensetzung von Unterregionselementen aus einer zweidimensionalen Liste in Python

高洛峰
高洛峰Original
2017-02-14 14:05:101651Durchsuche

Dieser Artikel stellt hauptsächlich vor, wie man die Zusammensetzung von Unterbereichselementen aus einer zweidimensionalen Liste in Python erhält. Ich glaube, dass er einen gewissen Referenzwert für das Verständnis und Lernen aller hat Wenn Sie Hilfe benötigen, kommen Sie bitte vorbei und schauen Sie sich unten um.

Jeder, der NumPY verwendet hat, sollte wissen, dass die Flächenaufteilungsfunktion bequem in einem zweidimensionalen Array verwendet werden kann, wie unten gezeigt:

So erhalten Sie die Zusammensetzung von Unterregionselementen aus einer zweidimensionalen Liste in Python

Und diese Funktion wird in List der Python-Standardbibliothek nicht unterstützt. Slicing-Operationen können nur in einer Dimension in List

So erhalten Sie die Zusammensetzung von Unterregionselementen aus einer zweidimensionalen Liste in Python

ausgeführt werden. Aber manchmal habe ich einfach Ich möchte diese Funktion nutzen, aber

nicht einführen. Tatsächlich kann ich es derzeit auch in Python implementieren. Implementieren Sie zu diesem Zeitpunkt einfach die spezielle Methode NumPY in einer Klasse: __getitem__

class Array:
 """实现__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)]

Probieren Sie es aus:

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])

So erhalten Sie die Zusammensetzung von Unterregionselementen aus einer zweidimensionalen Liste in Python

Erklärung von

in offiziellen Dokumenten: __getitem__

So erhalten Sie die Zusammensetzung von Unterregionselementen aus einer zweidimensionalen Liste in Python

Kurz gesagt, es wird hauptsächlich verwendet, um den Wert von

zu ermitteln. self[key]

Um die Lösung des Problems hervorzuheben, liste ich nur die Schlüsselcodes, die Ausnahmebeurteilung, die Grenzprüfung, die bedingte Einschränkung und sogar einige andere spezielle Methoden

, 如__setitem__ und __delitem__ auf andere Codes, die entsprechend der tatsächlichen Situation hinzugefügt werden müssen. __len__

Natürlich gibt es andere Möglichkeiten, damit umzugehen, wie zum Beispiel den unten gezeigten Code, aber verschiedene Methoden bieten mir zweifellos eine Vielzahl von Optionen in verschiedenen Szenarien.

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)

So erhalten Sie die Zusammensetzung von Unterregionselementen aus einer zweidimensionalen Liste in Python

Weitere verwandte Artikel darüber, wie man die Zusammensetzung von Teilbereichselementen zweidimensional erhält Liste in Python, bitte achten Sie auf PHP Chinese Net!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn