[英]how to return first element in multiple tuples as keys in dictionary
例如,如果
a = {('a','b','c'):2, ('b','c','d'):3}
我想只返回'a','b'
。
我試過了:
for key in a:
return key[0]
但它只返回'a'
。
是否有一種正確的方法來查找第一個元素而不使用lambda或counter或類似的東西(這是python中的基本課程)。 所以,沒有其他輸入程序。
函數(以及你的for
循環)在return
立即結束。 您應該將值存儲在列表中,然后返回該值。 就像是:
def getFirstElems(dic):
firstElems = []
for key in dic:
firstElems.append(key[0])
return firstElems
然后,如果你像這樣運行該函數:
a = {('a','b','c'):2, ('b','c','d'):3}
elem1, elem2 = getFirstElems(a)
print "elem1:", elem1
print "elem2:", elem2
你得到這個輸出:
elem1: a
elem2: b
你想要這樣的東西嗎?
In [4]: a = {('a','b','c'):2, ('b','c','d'):3}
In [5]: [key[0] for key in a.keys()]
Out[5]: ['a', 'b']
您的代碼的問題是return
語句...您應該在返回之前保留所有結果...
如果你每次都可以使用generators
你想要個別元素
In [19]: def mygenerator():
....: a = {('a','b','c'):2, ('b','c','d'):3}
....: for k in a.keys():
....: yield k[0]
....:
In [20]: mg = mygenerator()
In [21]: print(mg)
<generator object mygenerator at 0x035FA148>
In [22]: for i in mg:
....: print i
....:
a
b
從我可以告訴你想要循環鍵盤的鍵。 嘗試
for k in a.keys():
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.