2013-11-20 2 views
2

Say У меня есть следующий код:Expand только некоторые кортежи элементы списка переменных

from urlparse import urlparse 
parsed_url = urlparse(url) 
scheme, netloc, path = parsed_url[0], parsed_url[1], parsed_url[2] 

есть более элегантный или короткий путь назначения этих трех переменных? Это выглядит немного грязно, чтобы написать parsed_url три раза (я ожидаю чего-то другого, кроме переименования parsed_url на что-то более короткое).

ответ

6

Вы можете вырезать кортеж пополам:

scheme, netloc, path = parsed_url[:3] 

Или, чтобы сделать его явным, что существует шесть значений и вы игнорируете три из них, вы можете присвоить фиктивную переменную с именем _:

scheme, netloc, path, _, _, _ = parsed_url 
+0

Элегантное решение, это здорово! – linkyndy

2

parsed_url[:3] будет создавать субститут, состоящий из требуемых частей.

Так

scheme, netloc, path = parsed_url[:3] 

будет делать то, что вам нужно.

Смежные вопросы