Вопросы с тегом «list-comprehension»

102
Продолжение строки для понимания списков или выражений генератора в python

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

101
Как создать два цикла 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) Как я могу...

93
Понимание списков в Ruby

Чтобы сделать эквивалент понимания списков Python, я делаю следующее: some_array.select{|x| x % 2 == 0 }.collect{|x| x * 3} Есть ли лучший способ сделать это ... возможно, с помощью одного вызова метода?...

91
В понимании списка Python можно ли получить доступ к индексу элемента?

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

89
Понимание списка: возврат двух (или более) элементов для каждого элемента

Можно ли вернуть 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))...

88
Вложенные циклы For с использованием понимания списка

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

88
Что означают обратные кавычки для интерпретатора Python: `num`

Я играю с пониманием списков и наткнулся на этот небольшой фрагмент на другом сайте: return ''.join([`num` for num in xrange(loop_count)]) Я потратил несколько минут, пытаясь воспроизвести функцию (печатая), прежде чем понял, что `num`бит ломает ее. Что делает заключение в эти символы? Насколько я...

87
Как я могу обойтись без объявления неиспользуемой переменной в цикле for?

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

86
Понимание списка без [] в Python

Присоединение к списку: >>> ''.join([ str(_) for _ in xrange(10) ]) '0123456789' join должен принимать итерацию. Видимо, joinаргумент есть [ str(_) for _ in xrange(10) ], и это понимание списка . Посмотри на это: >>>''.join( str(_) for _ in xrange(10) ) '0123456789' Теперь...

79
list () использует немного больше памяти, чем понимание списка

Итак, я играл с listобъектами и обнаружил небольшую странную вещь, которая, если listсоздается с list()ее помощью, использует больше памяти, чем понимание списка? Я использую Python 3.5.2 In [1]: import sys In [2]: a = list(range(100)) In [3]: sys.getsizeof(a) Out[3]: 1008 In [4]: b = [i for i in...