1

Тема: Поясніть дещо

Натрапив в мережі на таку штуку..
В одному рядку коду може бути і for і if і якісь змінні... Хочу дізнатися як писати такі конструкції.. Я б загуглив та не знаю навіть ніяких ключових слів...

Напр. завдання

Прихований текст
Заданий непустий масив цілих чисел (Х). В цій задачі вам потрібно повернути масив, який складається тільки з неунікальних елементів даного масиву. Для цього необхідно видалити всі унікальні елементи (тобто ті, які наявні в масиві тільки один раз). Наприклад: [1, 2, 3, 1, 3], де 1 і 3 неунікальні елементи і результатом буде [1, 3, 1, 3].

А така конструкція його рішає..

checkio=lambda d:[x for x in d if d.count(x)>1]

Хто знає що то таке???

Навчаюсь вчитись, щоб навчатись.

2 Востаннє редагувалося VTrim (28.03.2015 15:26:06)

Re: Поясніть дещо

Якщо я не помиляюсь,то це лямбда-функція (анонімна функція),яка записується в змінну.

=)

3 Востаннє редагувалося koala (28.03.2015 15:27:05)

Re: Поясніть дещо

Це нормальна конструкція в Python:

x = 5 if c < 100 else 10

еквівалентно

if( c < 100 ) x = 5;
else x = 10;

чи навіть

x = c < 100 ? 5 : 10;

в C-подібних мовах.

Ну а лямбда - то лямбда, так в гугла і питайте.

Подякували: Q-bart1

4

Re: Поясніть дещо

koala написав:

Це нормальна конструкція в Python:

x = 5 if c < 100 else 10

А де про такі конструкції можна почитати?

Навчаюсь вчитись, щоб навчатись.

5

Re: Поясніть дещо

В офіційну документацію не заглядали?

Подякували: Q-bart1

6

Re: Поясніть дещо

А як щодо for?

Навчаюсь вчитись, щоб навчатись.

7

Re: Поясніть дещо

Q-bart написав:

А як щодо for?

Там само, розділ 5.2.4.

Подякували: Q-bart1

8

Re: Поясніть дещо

Q-bart написав:

А як щодо for?

Вже знайшов... Шукав українською, російською... Не було нічого..
А потім вирішив пошукати англійською...
https://www.google.com.ua/search?q=for+ … p;ie=UTF-8

Навчаюсь вчитись, щоб навчатись.

9

Re: Поясніть дещо

Отак стараєшся, перекладаєш для людей цілий розділ про list comprehensions, а його навіть ті кому треба знайти не можуть.

Подякували: Q-bart, koala2