结合字符串和整数来创建日期字符串会导致 TypeError

Ale*_*lec 8 python

我正在尝试组合下面的列表,以“dd/hh:mm”格式显示日期。

名单如下:

dd = [23, 23, 24, 24, 24, 24, 25, 25, 25, 25, 25, 26, 26, 26, 26, 26, 27, 27, 27, 27, 27, 27, 27, 27]
hh = [21, 23, 7, 9, 16, 19, 2, 5, 12, 15, 22, 1, 8, 11, 18, 21, 2, 8, 12, 12, 13, 13, 18, 22]
mm = [18, 39, 3, 42, 52, 43, 46, 41, 42, 35, 41, 27, 37, 30, 0, 58, 57, 51, 11, 20, 18, 30, 35, 5]
Run Code Online (Sandbox Code Playgroud)

所以组合列表看起来像

23/21:18, 23/23:39, 24/7:3, 24/9:42 ......
Run Code Online (Sandbox Code Playgroud)

等等。我尝试为此使用 for 循环(如下),但不出所料,每次都会遇到

finaltimes = []
zip_object = zip(dd,hh,mm)
for list1, list2, list3 in zip_object:
    finaltimes.append(list1+'/'+list2+':'+list3)

TypeError: unsupported operand type(s) for +: 'int' and 'str'
Run Code Online (Sandbox Code Playgroud)

我知道我不能在这个循环中结合 int 和 str 但不知道如何解决这个问题?任何帮助表示赞赏

Abd*_*dou 11

以下应该工作:

finaltimes = ['{}/{}:{}'.format(*tpl) for tpl in zip(dd, hh, m)]
Run Code Online (Sandbox Code Playgroud)

  • f 字符串也非常适合这里 `finaltimes = [f'{d}/{h}:{m}' for (d, h, m) in zip(dd, hh, mm)]` (不会改变任何内容,但元组对我来说可读性较差) (2认同)