Как я упорядочиваю массив в нисходящей команде?

Я нуждаюсь в помощи, чтобы создавать код, чтобы упорядочивать массив нисходящего способа и то, что я сделал до настоящего времени, так это этот код:

col=int(input('Ingresar numero de columnas:'))
fil=int(input('Ingresar numero de filas:'))
A=[[0 for i in range (col)] for j in range (fil)]
B=[[0 for i in range (col)] for j in range (fil)]
C=[0 for j in range (fil)]
print ('Matriz a: ')
for i in range (fil):
    for j in range (col):
        A[i][j]=input('Ingresar valor de la matriz A: ')
        B[i][j]=A[i][j]
C[i]=sorted(B[i][j])
for i in range (fil):
    for j in range (col):
        print (C[i])

проблема состоит в том, что он печатает данные об этой форме

0
0
0
0
0
0
['1']
['1']
['1']
3
задан 10.02.2019, 19:12
2 ответа

Базовая проблема это это:

C[i]=sorted(B[i][j])

B[i][j] представляет Гєnico элемент, данный Г-ndices i, j, у которых есть Гєltimo стоимость предыдущих циклов а именно range(fil) и range(col). Например, в массиве 2 x 2, что окончательно estarГ-схвати делая:

C[1]=sorted(B[1][1])

, С чем, что ты заканчиваешь тем, что делаешь, состоит в том, чтобы изменять список C и добавлять в ней posiciГіn 1, новый список (так как sorted возвращает тебе список), что соответствует Гєnico элемент линии 1, колонны 1 из B. Окончательно ты заканчиваешь с чем-то как это:

fil = 2
col = 2
B = [["1","1"], ["1","1"]]
C = [0 for j in range(fil)]
C[1]=sorted(B[1][1])
for i in range (fil):
    for j in range (col):
        print (C[i])

print(C)

0
0
['1']
['1']
[0, ['1']]

Казался, что то, что ты ищешь, состоит в том, чтобы упорядочивать целую линию, и предохранять ее от формы, отделенной в C. Тогда проблема решается, извлекая правильно желанную линию:

fil = 2
col = 2
B = [["2","3"], ["1","5"]]
C=[0 for j in range (fil)]
for i in range(fil):
  C[i]=sorted(B[i], reverse=True)
print(C)

[['3', '2'], ['5', '1']]

Важно: Имей в виду, что estГЎs работая с цепями, не с numГ©ricos, следовательно порядок serГЎ alfanumГ©rico.

2
ответ дан 20.11.2019, 00:18

в Пайтоне, у тебя есть она funciГіn sorted , у которого есть следующий syntaxis:

sorted(iterable, *, key=None, reverse=False)

для случая, мы используем reverse

Пример:

lista = [1,3,5,4,2,8]
lista_desc = sorted(lista,reverse=True)
print(lista)        #esta es la lista normal
print(lista_desc)   #esta es la lista ordenada descendentemente

надеялся, что он подает тебе

1
ответ дан 20.11.2019, 00:18

Теги

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