打印與印刷的字典
回答
簡單地寫
print (*d.values())
假設你想要的是與價值打印鍵一起你可以使用一個生成器表達式:
print(' '.join('{}={}'.format(k,v) for k,v in d.items()))
,或者如果你喜歡保持sep
參數,而不是使用str.join
:
print(*('{}={}'.format(k,v) for k,v in d.items()),sep=' ')
都與輸出:
A=10 B=20
問題說:「我如何獲得'10 20'?」他似乎並不想要鑰匙。 – Barmar
@Barmar我同意,但標題相當開放(*打印字典*),並可能導致其他用戶在此頁面中陷入困境,尋找打印鍵和值的方式。 –
請參閱打印推出了演示:
>>> def demo(p, *args, **kwargs):
... print(args)
... print(kwargs)
...
>>> demo(0, 1, 2, 3, 4, callback='demo_callback')
(1, 2, 3, 4)
{'callback': 'demo_callback'}
的
*
語法需要一個元組/列表;的
**
語法要求的字典;字典中的每個鍵值對都成爲關鍵字參數。
打印(*對象,九月=」」,端= '\ n',文件= sys.stdout的,齊平=假)
打印對象文本流文件,由分離sep然後結束。九月,結束和文件,如果存在的話,必須作爲關鍵字參數。
所有非關鍵字參數都會轉換爲字符串,如str()並將其寫入流中,並由sep和end結尾。 sep和end都必須是字符串;它們也可以是None,這意味着使用默認值。如果沒有給出對象,print()將只寫結束。
file參數必須是一個帶有write(string)方法的對象;如果它不存在或無,sys.stdout的將被使用。由於打印的參數轉換爲文本字符串,print()不能用於二進制模式文件對象。對於這些,請改用file.write(...)。
輸出是否緩衝通常由文件決定,但如果flush關鍵字參數爲true,則強制刷新流。
>>> print(d, sep=" ")
{'B': 20, 'A': 10}
>>> print(*d, sep=" ")
B A
>>> print(**d, sep=" ")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'B' is an invalid keyword argument for this function
這是一個有效的方法:
>>> print(*d.values(), sep=" ")
,打印不字典值 – SAMO
需要注意的是''是** **位置拆箱鍵。當你遍歷一個字典時,你會得到鍵,而不是值,因此結果。使用'* d。值()'而不是。順便說一句:輸出的順序沒有定義,所以如果這些值的結果與您想象的順序不同,請不要感到驚訝。 – Bakuriu
[在python中使用dict值獲取字典鍵值的可能重複](http://stackoverflow.com/questions/8251876/getting-dict-key-using-dict-value-in-python) – SAMO