说我有一个如下字典:
{'keyid': ['foo', '1', 'bar', '2', '(FancyStrininParathesis)']}
如何在字典的值中提取字符串并创建和打印一个长字符串,例如
print (finalstring) #Desired output: 'foo - 1 bar - 2 (FancyStrininParathesis)'
我已经能够输出值很好,但我无法弄清楚如何将数组输出为一个长字符串。我也是python的新手,我对PHP更加熟悉,但是我必须为这个项目使用一个特殊的python库。
感谢您的帮助!
答案 0 :(得分:3)
从你对我的评论的回复中,我想我明白你想做什么。与
dictionnary = {'keyid': ['foo', '1', 'bar', '2', '(FancyStrininParathesis)']}
您可以使用dictionnary.items()
:
for key, value in dictionnary.items():
...
现在因为这里value
是一个列表,我们可以迭代它并创建我们自己的输出字符串:
for key, value in dictionnary.items():
output = ""
for item in value:
output += item + " - "
output = output[:-3] # Remove the last three characters
print(output)
更加pythonic的方式是使用str.join
:
for key, value in dictionnary.items():
output = str.join(" - ", value)
print(output)
答案 1 :(得分:1)
尝试
{{1}}
答案 2 :(得分:0)
dicttt = {'keyid': ['foo', '1', 'bar', '2', '(FancyStrininParathesis)']}
entr = dicttt["keyid"] # get the list from the dictionary
print( ' - '.join(entr)) # join each lists entry by ' - ' and print all
或者如果您只是想输出它,您可以通过迭代列表并在没有换行符的情况下打印来输出它:
for n in range(len(entr)): # get an index into the list
if (n > 0):
print(' - ',end="") # if index > 0 print seperator, no newline
print(entr[n] ,end="") # print list item, no newline
print() # print newline
答案 3 :(得分:-1)
试试这个
dt ={'keyid': ['foo', '1', 'bar', '2', '(FancyStrininParathesis)']}
for x in dt.values():
s =' '.join(x)
s
print(s)