如何从字典中的项目连接到字符串

tkx*_*gle 1 python python-3.x

我想连接到一个字符串。我从我的字符串 s 开始,我想使用 for 循环来浏览我的字典。我知道我所拥有的没有任何意义,因为我在循环条件下引用了“i”,但从不在正文中引用。

我有这个

mydict1 = {
    'item_1': [7,19],
    'item_2': [0,3],
    'item_3': [54,191],
    'item_4': [41,43],
}

s = "Here are the items:" '\n'

for i in mydict1:
    s += key + ':' str(mydict1[1] - mydict1[0]) + ' bases long, spanning from bases ' + str(mydict1[0]) + ' to ' + str(mydict1[1])
print(s)
Run Code Online (Sandbox Code Playgroud)

我想要这个输出:

Here are the items:
item_1: 12 bases long, spanning from bases 7 to 19
item_2: 3 bases long, spanning from bases 0 to 3
item_3: 137 bases long, spanning from bases 54 to 191
item_4: 2 bases long, spanning from bases 43 to 41
Run Code Online (Sandbox Code Playgroud)

bur*_*ran 7

最好是使用 f 字符串:

for key, (start, end) in mydict1.items():
    print(f'{key}: {end-start} bases long, spanning from bases {start} to {end}')
Run Code Online (Sandbox Code Playgroud)

当然,通过一些更改,您也可以使用,str.format()但可读性会降低。

要通过解释您的代码有什么问题来扩展我的答案:

  • 当你像这样迭代 mydict1 时,你迭代for i in mydict1:键。所以值i将是字典的键
  • key 不是定义
  • mydict[0] 会导致KeyError,因为没有key 0,或者1