簡體   English   中英

連接 python 字典中的鍵值對

[英]concatenate key value pairs from python dictionary

我在 python 中有一本字典。 鍵和值都是字符串。 實際上,鍵是某種標志(例如-f ),而值是選項(例如,像20這樣的 int )。 我想要做的是創建一個包含所有鍵和值的字符串。 字典可能看起來像這樣: {'-f': 20, '-d': 30}我想要的是這樣的: "-f 20 -d 30"我認為這應該是一件容易的事,但直到現在我才找到解決方案......

這是使用列表理解的一種方法:

d = {'-f': 20, '-d': 30}
' '.join([i for k,v in d.items() for i in [k, str(v)]])
# '-f 20 -d 30'

這相當於:

out = []
for k,v in d.items():
    for i in [k, str(v)]:
        out.append(i)

' '.join(out)
# '-f 20 -d 30'

一次嘗試:

s = ''
for k, v in dct.items(): 
    s += k + ' ' + str(v) + ' '
    # remove the last character, an unnecessary space
    s = s[:-1] 

您可以將str.join生成器表達式一起使用:

d = {'-f': 20, '-d': 30}

' '.join(str(e) for t in d.items() for e in t)
# '-f 20 -d 30'

基於 yatu 答案,但使用f-strings你可以這樣做:

d = {'-f': 20, '-d': 30}
' '.join([f"{k} {v}" for k,v in d.items()])`
# '-f 20 -d 30' 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM