У меня есть файл данных с некоторых целых чиселСортировка 2d массив на основе первого столбца
2 8
6 7 3
4
1 3 4 2
Я хочу читать строки и отсортировать их на основе первого элемента в каждой строке. Таким образом, выход должен быть
1 3 4 2
2 8
4
6 7 3
Следующие утверждения прочитать файл и сохранить каждую строку в массиве
fs = open('test.txt')
lines = [line for line in fs if line.strip()]
Теперь я хочу использовать sorted
с соответствующим ключом. Но не знаю, как его использовать. Функция лямбда четко разъяснены here, но проблемы являются
1) Список параметров должно быть что-то вроде for row in lines
2) Блок кода должен быть что-то вроде row[0]
Но этот синтаксис неправильно, и я знайте это!
sorted(lines, key=lambda for row in lines : row[0])
Как python идентифицирует, что 'x' является' line.split() '? – mahmood
'x' - это параметр, определяемый анонимной' lambda'. 'myfunc = lambda x:' примерно эквивалентен 'def myfunc (x):'. – TigerhawkT3
@mahmood, так как 'lambda' - это функция, которая принимает аргумент' x'. Python передает итерируемый аргумент в 'sorted' функцию ключевой функции. – Kasramvd