У меня есть набор так:значения добавляемых к набору в Python
keep = set(generic_drugs_mapping[drug] for drug in drug_input)
Как добавить значения [0,1,2,3,4,5,6,7,8,9,10]
в этот набор?
У меня есть набор так:значения добавляемых к набору в Python
keep = set(generic_drugs_mapping[drug] for drug in drug_input)
Как добавить значения [0,1,2,3,4,5,6,7,8,9,10]
в этот набор?
keep.update(yoursequenceofvalues)
например, keep.update(xrange(11))
для вашего конкретного примера. Или, если вы имеют для получения значений в цикле по какой-то другой причине,
for ...whatever...:
onemorevalue = ...whatever...
keep.add(onemorevalue)
Но, конечно, делать это в объеме с помощью одного .update
вызова быстрее и удобней, когда в противном случае возможно.
Использование update
так:
keep.update(newvalues)
Вы также можете использовать оператор |
для объединения двух наборов (накидные в теории множеств):
>>> my_set = {1}
>>> my_set = my_set | {2}
>>> my_set
{1, 2}
Или короче формы с помощью |=
:
>>> my_set |= {2}
>>> my_set
{1, 2}
Примечание: В версиях до Python 2.7 используйте set([...])
вместо {...}
.
Если у вас есть список наборов 'my_sets', вы можете сделать' big_set = my_sets [0] .union (* my_sets [1:]) ', чтобы объединить их все – zelusp
Определить набор
a = set()
Использования добавить, чтобы добавить отдельные значения
a.add(1)
a.add(2)
Используйте обновление для добавления итерации значения
a.update([3,4])
Проверьте вашу коллекцию
a
Out[*n*]: {1, 2, 3, 4}
Вот и все - помните, обновление, если оно итерируется (aka list или tuple) или добавить если нет. Счастливое кодирование!
'.add' добавляет один элемент,' .update' добавляет несколько элементов. Это верно? – ThorSummoner
@ThorSummoner Да. '.add' ожидает единственный хешируемый тип, в то время как' .update' ожидает итеративный объект – Bonnie
Если вы добавите строку с обновлением, она добавит по одному элементу на символ в вашей строке, потому что это итерабельный! – hgolov