Вопросы с тегом «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 comprehensionон …

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 …

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 в пандах действительно плохи? Когда мне нужно заботиться?
Есть forпетли действительно «плохо»? Если нет, то в каких ситуациях они были бы лучше, чем использование более традиционного «векторизованного» подхода? 1 Я знаком с концепцией «векторизации» и с тем, как pandas использует векторизованные методы для ускорения вычислений. Векторизованные функции транслируют операции по всей серии или DataFrame, чтобы добиться гораздо большего …


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

6
Как создать два цикла for в понимании списка 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) Как бы вы написали это, используя понимание списка, если бы у меня нет доступа к индексам через enumerate? что-то …

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`бит ломает ее. Что делает заключение в эти символы? Насколько я понимаю, это эквивалент str (num). Но когда …

3
Вложенные циклы For с использованием понимания списка
Если бы у меня было две строки 'abc'и 'def', я мог бы получить все их комбинации, используя два цикла for: for j in s1: for k in s2: print(j, k) Однако я хотел бы иметь возможность делать это, используя понимание списка. Я пробовал много способов, но так и не получил. …

10
Как я могу обойтись без объявления неиспользуемой переменной в цикле for?
Если у меня есть понимание списка (например) вроде этого: ['' for x in myList] Фактически создавая новый список с пустой строкой для каждого элемента в списке, я никогда не использую x . Есть ли более чистый способ написать это, чтобы мне не приходилось объявлять неиспользуемую xпеременную?

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.