使用未知键和元素数字典的字符串插值


item_list = [x for x in notion_position_block.collection.get_rows()]
item_dict = {x.title: len(x.get_property('potential_hires')) for x in item_list}

这让我得到了我想要的:{'Full Stack Engineer': 3, 'Social Media Manager': 2, 'Backend Software Engineer': 1}

字典键/值+元素数量永远不会是相同的

如果keys+num元素不断变化,我如何将其转换为字符串?

我最终想要得到的是:

Full Stack Engineer 3 
Social Media Manager 2
Backend Software Engineer 1

编辑:

有可能用某种版本的将字典转换成字符串吗

''.format()

如果你真正想要的是字符串,而不是字典,我会直接跳到:

for x in notion_position_block.collection.get_rows():
print(x.title, len(x.get_property('potential_hires')))

如果你仍然想要那本字典,你可以跳过这个列表。您正在创建一个列表,然后循环使用它来生成字典。马上去找字典似乎更容易。

item_dict = {x.title: len(x.get_property('potential_hires')) for x in notion_position_block.collection.get_rows()}
for title, total in item_dict.items():
print(title, total)

编辑";是否可以使用某些版本的".format(("将字典转换为字符串:我会使用str.join:

', '.join(f'{title}: {total}' for title, total in item_dict.items())

试试这个:

for x in item_dict.keys():
print(x,item_dict[x])

我不确定我是否理解正确,但这就是如何将此字典表示更改为字符串形式并放入列表的方法。

然后,如果你想得到与你提供的完全相同的结果,你只需要制作一个基本的for循环,从列表中打印出元素

item_dict = {'Full Stack Engineer': 3, 'Social Media Manager': 2, 'Backend Software Engineer': 1}
string_rep = [(keys, values) for keys, values in item_dict.items()]
print(string_rep)

您可以使用items()方法迭代字典的键/值对:

>>> for key, value in item_dict.items():
...     print(key, value)
... 
Full Stack Engineer 3
Social Media Manager 2
Backend Software Engineer 1

对于:"Full Stack Engineer 3",它的意思是3-字典号,或者这个单词在item_list中涉及多少?如果第一个:

对于item_dict.keys((中的i:打印(i,item_dict[i](

最新更新