带字典的元组以元素修改的形式列出

问题描述 投票:0回答:1

给出如下元组,

tpl = ('abc', {'a': 1, 'b': 2})

如果可能,最好通过理解来创建一个列表。

预期输出

['abc', 'a: 1', 'b: 2']

可以通过调用list(tpl)将元组转换为列表

将字典key:val转换为key +" : "+ val的部分可以通过以下方法完成

[k + " : " + v for k, v in dict.items()]

我认为选择性检查上述操作的部分可以通过检查类型(仅适用于字典)来完成-需要一些帮助才能获得完整的解决方案。

还有一个单独的问题,有没有办法做到这一点?

python dictionary-comprehension
1个回答
0
投票

要更准确地回答,您必须注意元组中包含的特定dtypes,并单独处理。对于共享示例,应该执行以下操作:

l= []
for i in tpl:
    if isinstance(i, str):
        l.append(i)
    elif isinstance(i, dict):
        for k,v in i.items():
            l.append(f'{k}: {str(v)}')

print(l)
# ['abc', 'a: 1', 'b: 2']
© www.soinside.com 2019 - 2024. All rights reserved.