Сортировать список строк, содержащих целые числа, игнорируя пробелы в python - PullRequest
0 голосов
/ 16 марта 2020

Я хочу отсортировать список с пробелами между каждым элементом. Когда я пытаюсь отсортировать его, используя sorted(), он также сортирует пробел. Я не хочу этого. Как реализовать это в python?

A = '1 10'
sorted(A)
print(A)

Вывод:

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

Вывод Я хочу:

'1 10'

Ответы [ 4 ]

1 голос
/ 16 марта 2020

Я думаю, вы могли бы попробовать следующее для этого.

string = '1 10'
final = sorted(string.split(), key = int)
final = " ".join(final)
1 голос
/ 16 марта 2020

Ваша переменная A в настоящее время является строкой. Вы хотите сначала преобразовать в список, используя функцию split (). Функция split используется для преобразования строки в список на основе заданного разделителя. Например,

x=A.split(" ") выдаст вам список x как ['1', '10'], а затем вы можете отсортировать сам x, используя x.sort() или x=sorted(x). Разница между сортированным и сортированным сортированными возвращает новый список, в то время как сортировка сортирует данный список.

1 голос
/ 16 марта 2020

Вы можете split и затем сортировать их. Используйте key параметр в sorted

A='1 10'
out=sorted(A.split(),key=int)
# ['1','10']

Из других ответов я понял, что вы можете использовать join.

' '.join(sorted(A.split(),key=int))
# '1 10'
0 голосов
/ 16 марта 2020

После получения отсортированного списка чисел используйте объединение, чтобы получить строку с пробелами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...