![](/img/trans.png)
[英]How to remove dictionary outer curly bracket or append it without curly bracket into a list?
[英]How to remove the all the curly bracket in dictionary of dictionaries
我希望從當前輸出中刪除所有花括號。 我目前的輸出如下圖所示:
{'Chin PTE LTD': {'Carrot Cake': 22, 'Chocolate Cake': 12, 'Beer': 89}, 'COQ
SEAFOOD': {'GRILLED AUSTRALIA ANGU': 1, 'CRISPY CHICKEN WINGS': 1
}}
我目前的代碼如下所示:
for merchant, product, quantity in big_list:
d[merchant][product] += quantity
print ({ k:dict(v) for k,v in d.items() })
我想要的輸出:
'Chin PTE LTD': 'Carrot Cake': 22, 'Chocolate Cake': 12, 'Beer': 89, 'COQ
SEAFOOD': 'GRILLED AUSTRALIA ANGU': 1, 'CRISPY CHICKEN WINGS': 1
因為我還是python的新手,請問我是否希望刪除字典詞典中的所有花括號。 我想要的輸出是否可以實現? 如果是這樣,我該怎么做呢? 任何建議/想法將不勝感激。 謝謝。
您可以通過首先將字典轉換為字符串,然后用空字符串替換所有括號來完成此操作:
d = {'Chin PTE LTD': {'Carrot Cake': 22, 'Chocolate Cake': 12, 'Beer': 89}, 'COQSEAFOOD': {'GRILLED AUSTRALIA ANGU': 1, 'CRISPY CHICKEN WINGS': 1}}
print(str(d).replace("{","").replace("}", ""))
這將打印您正在尋找的東西:
'Chin PTE LTD': 'Carrot Cake': 22, 'Chocolate Cake': 12, 'Beer': 89, 'COQSEAFOOD': 'GRILLED AUSTRALIA ANGU': 1, 'CRISPY CHICKEN WINGS': 1
像這樣構建字符串
d = {'Chin PTE LTD': {'Carrot Cake': 22, 'Chocolate Cake': 12, 'Beer': 89}, 'COQ SEAFOOD': {'GRILLED AUSTRALIA ANGU': 1, 'CRISPY CHICKEN WINGS': 1}}
st = ', '.join('%r: %s' % (k, ', '.join('%r: %r' % (sk, sv) for sk, sv in v.items())) for k, v in d.items())
print(st)
此代碼通過首先迭代外部字典來構建字符串。 它將鍵附加到字符串(加上':'以符合您的格式要求)。 然后它迭代內部字典並以相同的方式附加鍵和值。 它使用%r
格式說明符,這意味着正在打印的元素使用其repr
函數進行轉換。 這為字符串提供了引號,而無需手動添加它們。
你不能指望被修復的訂單。 因此,對於不同的運行,您將獲得略微不同的訂單。
輸出看起來像
'Chin PTE LTD':'胡蘿卜蛋糕':22,'巧克力蛋糕':12,'啤酒':89,'COQ SEAFOOD':'烤澳大利亞安古':1,'脆皮雞翅':1
d = {'Chin PTE LTD': {'Carrot Cake': 22, 'Chocolate Cake': 12, 'Beer': 89}, 'COQ SEAFOOD': {'GRILLED AUSTRALIA ANGU': 1, 'CRISPY CHICKEN WINGS': 1}}
', '.join(['{}: {}'.format(merchant, ', '.join(['{}: {}'.format(product, quantity) for product, quantity in products.items()])) for merchant, products in d.items()])
如果你使用python2而不是python3,用iteritems替換項目
import re
result={'Chin PTE LTD': {'Carrot Cake': 22, 'Chocolate Cake': 12, 'Beer': 89}, 'COQ SEAFOOD': {'GRILLED AUSTRALIA ANGU': 1, 'CRISPY CHICKEN WINGS': 1}}
expected_output=re.sub("}|{","",str(result))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.