Запитання з тегом «list-comprehension»

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

7
Python за допомогою перерахування розуміння списку всередині списку
Припустимо, у мене є такий список: mylist = ["a","b","c","d"] Щоб отримати значення, надруковані разом з їх індексом, я можу використовувати enumerateфункцію Python, як це >>> for i,j in enumerate(mylist): ... print i,j ... 0 a 1 b 2 c 3 d >>> Тепер, коли я намагаюся використовувати його всередині, list …

6
Як поводитися з винятками в списку розумінь?
У мене є певне розуміння списку в Python, в якому кожна ітерація може спричинити виняток. Наприклад , якщо у мене є: eggs = (1,3,0,3,2) [1/egg for egg in eggs] Я отримаю ZeroDivisionErrorвиняток у 3-му елементі. Як я можу впоратися з цим винятком і продовжувати виконувати розуміння списку? Єдиний спосіб, що …

6
Списки розуміння відновлює імена навіть після сфери розуміння. Чи це правильно?
Зрозуміння мають деякі несподівані взаємодії з визначенням масштабів. Це очікувана поведінка? У мене є метод: def leave_room(self, uid): u = self.user_by_id(uid) r = self.rooms[u.rid] other_uids = [ouid for ouid in r.users_by_id.keys() if ouid != u.uid] other_us = [self.user_by_id(uid) for uid in other_uids] r.remove_user(uid) # OOPS! uid has been re-bound by …

10
Пітонічний спосіб друку списків
Я хотів би знати, чи є кращий спосіб надрукувати всі об’єкти в списку Python, ніж цей: myList = [Person("Foo"), Person("Bar")] print("\n".join(map(str, myList))) Foo Bar Я читаю цей спосіб не дуже добре: myList = [Person("Foo"), Person("Bar")] for p in myList: print(p) Хіба немає чогось типу: print(p) for p in myList Якщо …

7
Чи Pythonic використовувати розуміння списку лише для побічних ефектів?
Подумайте про функцію, яку я закликаю до її побічних ефектів, а не до повернення значень (наприклад, друк на екран, оновлення графічного інтерфейсу, друк у файл тощо). def fun_with_side_effects(x): ...side effects... return y Тепер, чи Pythonic використовуватиме розуміння списку, щоб викликати цю функцію: [fun_with_side_effects(x) for x in y if (...conditions...)] Зауважте, …


2
Чи справді погані петлі в пандах справді погані? Коли я повинен піклуватися?
Чи forсправді петлі "погані"? Якщо ні, то в яких ситуаціях вони були б кращими, ніж використання більш звичайного "векторного" підходу? 1 Мені знайоме поняття "векторизація" та те, як панди використовують векторизовані методи для прискорення обчислень. Векторизовані функції транслюють операції протягом усієї серії або DataFrame для досягнення прискорень, значно більших, ніж …

3
Продовження рядка для розуміння списку або виразів генератора в python
Як ви повинні розбити дуже довгий список розуміння? [something_that_is_pretty_long for something_that_is_pretty_long in somethings_that_are_pretty_long] Я також десь бачив, що люди, які не люблять використовувати "\" для розбиття рядків, але ніколи не розуміли, чому. У чому причина цього?

6
Як встановити два цикли для циклів у розумінні списку python
У мене є два списки, як показано нижче tags = [u'man', u'you', u'are', u'awesome'] entries = [[u'man', u'thats'],[ u'right',u'awesome']] Я хочу витягти записи, entriesколи вони знаходяться в tags: result = [] for tag in tags: for entry in entries: if tag in entry: result.extend(entry) Як я можу написати два цикли …

17
Розуміння списку в Ruby
Щоб зробити еквівалент розуміння списку Python, я роблю наступне: some_array.select{|x| x % 2 == 0 }.collect{|x| x * 3} Чи є кращий спосіб зробити це ... можливо, за допомогою одного виклику методу?

3
У розумінні списку Python чи можна отримати доступ до індексу елементів?
Розглянемо наступний код Python, за допомогою якого я додаю до нового list2всі елементи з індексами від 1 до 3 з list1: for ind, obj in enumerate(list1): if 4 > ind > 0: list2.append(obj) Як би ви написали це, використовуючи розуміння списку, якщо я не маю доступу до індексів через перерахування? …

6
Розуміння списку: Повернення двох (або більше) елементів для кожного елемента
Чи можна повернути 2 (або більше) елементи для кожного елемента в розумінні списку? Що я хочу (приклад): [f(x), g(x) for x in range(n)] повинен повернутися [f(0), g(0), f(1), g(1), ..., f(n-1), g(n-1)] Отже, щось для заміни цього блоку коду: result = list() for x in range(n): result.add(f(x)) result.add(g(x))

3
Що означають зворотні позначки для інтерпретатора python: `num`
Я пограюсь із розумінням списку, і я натрапив на цей маленький фрагмент на іншому сайті: return ''.join([`num` for num in xrange(loop_count)]) Я витратив кілька хвилин, намагаючись відтворити функцію (набравши текст), перш ніж зрозумів, що `num`біт її порушує. Що робить укладання твердження в ці символи? З того, що я бачу, це …

10
Як я можу обійти оголошення оголошення невикористовуваної змінної у циклі for?
Якщо я маю розуміння списку (наприклад), як це: ['' for x in myList] Ефективно створюючи новий список, який містить порожній рядок для кожного елемента в списку, я ніколи не використовую x. Чи є чистіший спосіб написання цього, щоб мені не потрібно було оголошувати невикористовувану xзмінну?

7
Розуміння списку без [] на Python
Приєднання до списку: >>> ''.join([ str(_) for _ in xrange(10) ]) '0123456789' join повинен взяти ітерацію. Очевидно, joinаргумент Російської Федерації є [ str(_) for _ in xrange(10) ], і це розуміння списку . Подивись на це: >>>''.join( str(_) for _ in xrange(10) ) '0123456789' Зараз joinаргумент '' просто str(_) for …

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.