假設我有字典。我不知道里面的關鍵/價值。如何在不執行for循環的情況下獲得此鍵和值(字典中只有一個項目)。如何獲取只包含一個項目的字典的鍵/值對?
您可能想知道爲什麼我在這種情況下使用字典。我有我的API的字典,我不希望用戶迷路。這只是一個問題。否則,我會使用一個列表和索引。
假設我有字典。我不知道里面的關鍵/價值。如何在不執行for循環的情況下獲得此鍵和值(字典中只有一個項目)。如何獲取只包含一個項目的字典的鍵/值對?
您可能想知道爲什麼我在這種情況下使用字典。我有我的API的字典,我不希望用戶迷路。這只是一個問題。否則,我會使用一個列表和索引。
爲作業使用正確的數據類型。你的目標應該是有可行的代碼,而不是你在整個地方使用相同的數據類型。
如果你的字典裏只包含一個鍵和一個值,你可以得到要麼索引:
key = list(d)[0]
value = list(d.values())[0]
,或者同時獲得:
key, value = list(d.items())[0]
需要的list
電話因爲在Python 3中,.keys()
,.values()
和.items()
返回字典視圖,而不是列表。
另一種選擇是使用序列拆封:
key, = d
value, = d.values()
或兩者在同一時間:
(key, value), = d.items()
d.popitem()
會給你一個關鍵的值元組。
但是,這會將從'D'刪除它。 – 2013-03-12 16:19:49
這是破壞性的 - 除了獲得它從字典中移除它的關鍵和價值之外。 – 2013-03-12 16:20:32
d.copy()。popitem() – andsoa 2013-03-12 16:40:42
剛剛得到在字典中的第一個項目使用迭代
>>> d = {"foo":"bar"}
>>> k, v = next(iter(d.items()))
>>> k
'foo'
>>> v
'bar'
時間戳說你是第一個。 :^) – DSM 2013-03-12 16:23:00
+1也可以在集合中很好地工作 - 如果'dict'是空的,如果需要將默認參數設置爲'next',它也是可能的... – 2013-03-12 16:24:00
看起來我只打了29秒。 .. – 2013-03-12 16:28:48
您可以這樣做:
>>> d={1:'one'}
>>> k=list(d)[0]
>>> v=d[k]
作品在Python 2或3
愚蠢的一致性... – 2017-02-19 03:00:41