Хитрая сортировка
Пусть у нас есть следующий список, в котором элементы -- tuple из строк:
items = [('one', 'two'), ('three', 'four'), ('five', 'six'), ('string', 'a')]
Мы хотим отсортировать этот список по последней букве второго элемента каждого tuple, т.е. получить такой список:
sorted_items = [ ('string', 'a'), ('one', 'two'), ('three', 'four'), ('five', 'six'),]
Что нужно вставить вместо "###" в следующем выражении, чтобы получить сортировку?
sorted_items = sorted(items, key=lambda x: ###)
P.S. в ответе не должно фигурировать слово 'len'
Как можно использовать команду for в lambda функции?
//1)
var
A: array [1..8] of integer;
i: byte;
sum: integer;
Arifm: real;
begin
writeln('Заполнение массива.');
sum := 0;
for i := 1 to 8 do
begin
write('A[',i,'] = ');
readln(A[i]);
sum := sum + A[i];
end;
Arifm := sum/8;
writeln('Среднее арифметическое всех элементов = ', Arifm);
writeln;
writeln('Элементы меньше среднего арифметического.');
for i := 1 to 8 do
if A[i] < Arifm then
write(A[i]:4);
writeln; readln;
end.
//2)
var
A: array [1..8] of integer;
i: byte;
sum: integer;
Arifm: real;
begin
writeln('Заполнение массива.');
sum := 0;
for i := 1 to 8 do
begin
write('A[',i,'] = ');
readln(A[i]);
if i mod 2 <> 0 then
sum := sum + A[i];
end;
Arifm := sum/4;
writeln('Среднее арифметическое элементов с нечетн. индексами = ', Arifm);
readln;
end.