Ash*_*ppa 2 python tuples list iterable-unpacking
我是Python的新手.考虑str.partition()返回3元组的函数.如果我只对这个元组的元素0和2感兴趣,那么从这样的元组中选择某些元素的最佳方法是什么?
我现在可以做到:
# Introduces "part1" variable, which is useless
(part0, part1, part2) = str.partition(' ')
Run Code Online (Sandbox Code Playgroud)
要么:
# Multiple calls and statements, again redundancy
part0 = str.partition(' ')[0]
part2 = str.partition(' ')[2]
Run Code Online (Sandbox Code Playgroud)
我希望能够做到这样的事情,但不能:
(part0, , part2) = str.partition(' ')
# Or:
(part0, part2) = str.partition(' ')[0, 2]
Run Code Online (Sandbox Code Playgroud)
tru*_*ppo 13
Underscore经常被用作你不需要的东西的名字,所以像这样的东西会起作用:
part0, _, part2 = str.partition(' ')
Run Code Online (Sandbox Code Playgroud)
在这种特殊情况下,您可以这样做,但它不是一个漂亮的解决方案:
part0, part2 = str.partition(' ')[::2]
Run Code Online (Sandbox Code Playgroud)
一个更深奥的解决方案:
from operator import itemgetter
part0, part2 = itemgetter(0, 2)(str.partition(' '))
Run Code Online (Sandbox Code Playgroud)