Size: a a a

Physics.Math.Code

2021 July 02

АЖ

Али Жумалиев... in Physics.Math.Code
Всем привет
источник

АЖ

Али Жумалиев... in Physics.Math.Code
Какие книги посеветуете чтоб подкачать алгебру свою
источник

NV

Nata Voronina in Physics.Math.Code
элементарная алгебра
источник

NV

Nata Voronina in Physics.Math.Code
туманов
источник

А

Аlex Н in Physics.Math.Code
Да. Каждая пара ключ/значение идут как новые даже при одинаковых ключах. Поэтому фичи как с мапом нет. P.S. хотя могло бы писать и по всем ключам сразу )
источник

A

Arthur in Physics.Math.Code
Добрый вечер. Есть кто может помочь с простенькой задачкой на python?
условие:
Расположить столбцы матрицы D[M, N] в порядке возрастания элементов k-й строки (1 <= k <= М).
Мой код который в голове должен был сделать все как надо

n=int(input("Vvedite kolichestvo strok:"))
m=int(input("Vvedite kolichestvo stolbcov:"))
array=[]
for i in range(n):
   stolbci=[]
   for j in range(m):
       stolbci.append(int(input("Vvedite "+"["+str(i)+","+str(j)+"]"+" element: "))) # заполняем массив
   array.append(stolbci)
k=int(input("Vvedite nomer stroki po kotoroi mi perestavim stolbci: "))
k-=1
if k>m:
   exit(0)
else:
   new_array = array
   sort_line = sorted(array[k])
   l=0
   for j in range(m):
       l=array[k].index(sort_line[j])
       for i in range(n):
           new_array[i][j]=array[i][l]
   for i in range(n):
       print(new_array[i])

но на последней итерации выбивает ошибку:
Vvedite kolichestvo strok:2
Vvedite kolichestvo stolbcov:2
Vvedite [0,0] element: 1
Vvedite [0,1] element: 0
Vvedite [1,0] element: 9
Vvedite [1,1] element: 2
Vvedite nomer stroki po kotoroi mi perestavim stolbci: 2
Traceback (most recent call last):
 File "C:/Users/Arthur/Desktop/sss.py", line 18, in <module>
   l=array[k].index(sort_line[j])
ValueError: 9 is not in list
В чем ошибся?
источник

МЗ

Макс Заика in Physics.Math.Code
Дело в reference типах. Вы когда new_array меняете, меняется и исходный array. На место 9 после первой итерации встаёт 2, потому 9 найти уже нельзя
источник

A

Arthur in Physics.Math.Code
а как избежать этого?
источник

МЗ

Макс Заика in Physics.Math.Code
Перепишите (или найдите метод копирования, может, такой есть) вместо использования операции присваивания
источник

A

Arthur in Physics.Math.Code
хорошо, спасибо
источник

МЗ

Макс Заика in Physics.Math.Code
источник

A

Arthur in Physics.Math.Code
не знал что в питоне такие заморочки с этим. Спасибо еще раз
источник

TL

Tony Lutsenko in Physics.Math.Code
Ох уж этот Пайтон
источник

МЗ

Макс Заика in Physics.Math.Code
Как минимум в C# ещё есть такой вид типа)
источник

Д

Дмитрий in Physics.Math.Code
list2 =list1+[]
источник

V

Viαη in Physics.Math.Code
Чтобы сделать копию списка list_name[::]
источник

A

Arthur in Physics.Math.Code
как ни странно, я уже перепробовал все выше предложенное. Ошибка не ушла
источник

МЗ

Макс Заика in Physics.Math.Code
Реально)
источник

МЗ

Макс Заика in Physics.Math.Code
Всё равно ссылка
источник

МЗ

Макс Заика in Physics.Math.Code
new_array = [list(i) for i in array]
источник