【问题标题】:Python dictionary get index plus insert in right positionPython字典获取索引并在正确位置插入
【发布时间】:2013-09-23 01:49:24
【问题描述】:

我正在尝试在 Python 中实现以下逻辑。

# Variable i = loop (1 to 32)

days = dict()

    if i in days: # if there's already a Key in the dict
        variable_time = str(days[i])
        hours_time = variable_time .split(':')[0]
        minutes_time = variable_time .split(':')[1]

        # It should sum the current value to the new value
        time_horizontal = timedelta(hours=int(hours_time), minutes=int(minutes_time))
        total_horizontal[i] = time_horizontal + timedelta(hours=int(hours_), minutes=int(minutes_))
    else:
        # otherwise, it will insert the default values
        total_horizontal[i] = timedelta(hours=int(hours_), minutes=int(minutes_)) # this will get info from other variables

使用此代码,我收到以下错误:

异常:意外的数据类型类型“datetime.timedelta”

我该如何解决?谢谢。

【问题讨论】:

  • 我们不知道,因为您没有显示此错误发生的位置,也没有发布完整的回溯。我们可以告诉您的是,它显然不是从您发布的任何代码中引发的。
  • 实际上,问题出在我发布的代码上。下面的答案中的分辨率。

标签: python dictionary split timedelta


【解决方案1】:

解决了

# Variable i = loop (1 to 32)

    days = dict()

        if i in days:
            variable_time = str(days[i])
            hours_time = variable_time .split(':')[0]
            minutes_time = variable_time .split(':')[1]

            time_horizontal = timedelta(hours=int(hours_time), minutes=int(minutes_time)) + timedelta(hours=int(hours_), minutes=int(minutes_)) 
            total_horizontal[i] = str(time_horizontal)
        else:
            # otherwise, it will insert the default values
            total_horizontal[i] = str(timedelta(hours=int(hours_), minutes=int(minutes_)))

【讨论】:

    猜你喜欢
    • 2021-03-24
    • 2010-12-12
    • 1970-01-01
    • 1970-01-01
    • 2022-06-19
    • 2018-04-14
    • 1970-01-01
    • 1970-01-01
    • 2021-03-25
    相关资源
    最近更新 更多