python - 如何选取函数返回的 x 元组的某些元素?

标签 python list tuples iterable-unpacking

我是 Python 新手。考虑返回 3 元组的函数 str.partition()。如果我只对这个元组的元素 0 和 2 感兴趣,那么从这样的元组中只挑选特定元素的最佳方法是什么?

我目前可以做:

# Introduces "part1" variable, which is useless
(part0, part1, part2) = str.partition(' ')

或者:

# Multiple calls and statements, again redundancy
part0 = str.partition(' ')[0]
part2 = str.partition(' ')[2]

我希望能够像这样做某事,但不能:

(part0, , part2) = str.partition(' ')
# Or:
(part0, part2)   = str.partition(' ')[0, 2]

最佳答案

下划线经常被用作你不需要的东西的名字,所以这样的东西会起作用:

part0, _, part2 = str.partition(' ')

在这种特殊情况下,您可以这样做,但这不是一个很好的解决方案:

part0, part2 = str.partition(' ')[::2]

一个更深奥的解决方案:

from operator import itemgetter
part0, part2 = itemgetter(0, 2)(str.partition(' '))

关于python - 如何选取函数返回的 x 元组的某些元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1502470/

相关文章:

python - 根据 Pandas 中的特定列制作子图

python - 如何让 py.test 识别子目录中的 conftest.py?

python - 在 Python 中以分别显示所有边的方式绘制有向图

c++ - 元组实现是否有优化的布局?

python - 将二进制数分成五位数字组

python - 有没有办法连接子列表中的字符串列表

java - 如何使用java查找并列出selenium中ul li标签下的元素和ul li位于div下的元素?

java - 错误: variable sblst is already defined in method generate(int) but no error for ForLoop

python - 元组列表的唯一组合

python - 将字符串转换为二元组列表