我如何从字典的键中计算对象?

Spy*_*ros 3 python dictionary count

我有这本词典:

dict={"asset":[("S3","A1"),"S2",("E4","E5"),("E1","S1"),"A6","A8"], 
"Rank":lirank,"number_of_attributes": }
Run Code Online (Sandbox Code Playgroud)

跳过“排名”。

? 想要计算“资产”键的对象并将其作为列表附加到“number_of_attributes”。

?我想要的输出是:

"number_of_attributes":[2,1,2,2,1,1]
Run Code Online (Sandbox Code Playgroud)

这意味着资产的第一个对象(“S3”,“A1”)有 2 个项目,第二个(“S2”)是 1 个项目......我想用 for 循环写它,但任何交换都是可以接受的! !

rus*_*ro1 6

您可以使用列表理解:

my_dict["number_of_attributes"] = [1 if isinstance(x, str) else len(x) for x in my_dict["asset"]]
print(my_dict["number_of_attributes"])
Run Code Online (Sandbox Code Playgroud)

输出:

[2, 1, 2, 2, 1, 1]
Run Code Online (Sandbox Code Playgroud)