更改python字典的值与字典的其他值相同

2024-09-24 02:23:57 发布

您现在位置:Python中文网/ 问答频道 /正文

是否有可能使默认输入值依赖于其中一个输入值?我试过这个:

def getHigh(pricedata, start=min(pricedata), end=max(pricedata)):
    ## do something

但它不起作用,因为pricedata还没有定义。你知道吗


Tags: 定义defmindostartmaxsomethingend
3条回答

在一般情况下,可以使用None并对其进行测试。你知道吗

def getHigh(pricedata, start=None, end=None):
    start = min(pricedata) if start is None else start
    end   = max(pricedata) if end is None else end

在设置范围并仅处理该范围内的项目的特定情况下,可以使用包含所有可能值的默认值:

def getHigh(pricedata, start=float("-inf"), end=float("+inf")):
    # consider only items between start and end, inclusive
    pricedata = [datum for datum in pricedata if start <= datum <= end]

有两种方法可以满足您的要求:

def getHigh(pricedata, start=None, end=None):
    if start is None:
        start = min(pricedata)
    if end is None:
        end = max(pricedata)

还有。。。你知道吗

def getHigh(pricedata, **kwargs):
    start = kwargs.get("start", min(pricedata))
    end = kwargs.get("end",max(pricedata))

保持简单:)

def getHigh(pricedata, start=None, end=None):
    start = min(pricedata) if start is None else start
    end = max(pricedata) if end is None else end

相关问题 更多 >