@overlord1337

Как изменить значение другой переменной из функции?

Задание: создать функцию extractSquare(positions). Функция принимает двумерный массив( пример двумерного массива будет ниже) и возвращает двумерный массив который содержит один или несколько элементов с наивысшем индексом, при этом изменяет параметр positions. использовать в функции просто global не получится ибо в аргументах функции обязательно должен содержать аргумент positions. Результат работы функции.
5ff5a8e44e6d1952792393.png
Мой код:
def extractSquare(positions):
	y=positions
	z=y.count(max(positions,key = lambda x: x[1]))
	y=y[::-1]
	y=y[:z]
	def extactrsquare1(z):
		global positions
		h=len(positions)
		h1=h-z
		positions=positions[0:h1]
	extactrsquare1(z)
	return y
positions = [['Z', 160], ['Z', 161],['Z', 165],['Z', 167], ['Z', 190], ['Z', 190]]
square = extractSquare(positions)

Можно ли как то обойтись без функции внутри для изменения positions? ибо по идеи функция должна вернуть и элементы с наивысшим индексом в переменную square, но при этом и изменить positions. Я бы мог поставить в функцию global positions, но еще раз повторюсь , что сама функция в аргументах должна содержать его в аргументах.
  • Вопрос задан
  • 93 просмотра
Решения вопроса 1
SoreMix
@SoreMix Куратор тега Python
yellow
Находите элемент с наибольшим индексом и делаете pop
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы