gpt4 book ai didi

Python:为什么itemgetter的返回类型不一致

转载 作者:行者123 更新时间:2023-12-02 23:09:45 25 4
gpt4 key购买 nike

Python itemgetter 不返回长度为 0 或 1 的元组。例如:

from operator import itemgetter

def get_something(keys):
d = {
"a": 1,
"b": 2,
"c": 3
}
return itemgetter(*keys)(d)

print(type(get_something(["a", "b"])))
# <class 'tuple'>
print(type(get_something(["a"])))
# <class 'int'>
print(type(get_something([])))
# TypeError: itemgetter expected 1 arguments, got 0
  • itemgetter 这样编写有什么充分的理由吗?而倒数第二个 () 和最后一个不是 (1,)

  • 如果我总是想返回给定键的元组/列表,是否有其他内置选项?

最佳答案

Is there some other built-in option if I always want to return a tuple/list given the keys?

只需使用理解式即可:

[d[k] for k in keys]

在上下文中:

from operator import itemgetter

def get_something(keys):
d = {
"a": 1,
"b": 2,
"c": 3
}
return [d[k] for k in keys]

print(get_something(["a", "b"]))
#[1, 2]
print(get_something(["a"]))
#[1]
print(get_something([]))
#[]

关于Python:为什么itemgetter的返回类型不一致,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48988776/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com