@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, но еще раз повторюсь , что сама функция в аргументах должна содержать его в аргументах.
  • Вопрос задан
  • 71 просмотр
Решения вопроса 1
SoreMix
@SoreMix
yellow
Находите элемент с наибольшим индексом и делаете pop
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
18 янв. 2021, в 11:12
3000 руб./за проект
18 янв. 2021, в 10:53
1500 руб./в час
18 янв. 2021, в 10:44
1500 руб./за проект