我有一個字典,其值都是列表,我需要為給定鍵提取列表的第一個元素。我一直在用var = varDict.get(key, 0)但是現(xiàn)在值是一個列表,我需要與值相同的var,現(xiàn)在它是列表的第一個元素。我嘗試了幾種變體,主要涉及將方括號放在不同位置的方括號中,其中的數(shù)字不同,我的嘗試是切片標記,然后以標準方式將其從列表中拉出,所有這些均導(dǎo)致dict.get每次都返回默認值,或者什么都沒有。從研究看來,這似乎并不是人們真正遇到的問題,我嘗試了一些解決類似問題的方法,但是沒有一個方法能夠解決這些問題。我也可以通過添加一條if語句并將其擴展很多來做到這一點,但是只要有一種內(nèi)置的方式(我認為是可以做到的),我就希望代碼保持整潔和最小化。實際可行。一些背景在這種特殊情況下,我的代碼的完整片段是:varDict[key] = [vardict.get(key, 0) + step,item2,item3]您可能會在這里看到,我的目標是增加(或減少,取決于步驟的int值)與鍵相關(guān)聯(lián)的列表/值中的值,覆蓋列表的其他兩個值,如果不存在則創(chuàng)建鍵。還不存在。一些例子根據(jù)moondra的要求,以下是一些預(yù)期輸出的示例:從varDict空字典開始:key = "test", step = 1, item2 = True, item3 = False應(yīng)導(dǎo)致:varDict = {"test": [1, True, False]}然后:key = "test", step = 1, item2 = False, item3 = False結(jié)果是:varDict = {"test": [2, False, False]}然后:key = "words", step = -1, item2 = False, item3 = False結(jié)果是:varDict = {"test": [2, False, False], "words": [-1, False, False]}不過,我想指出的是,我正在尋找問題的答案,而不是我的處境,因為回答我的問題可能會對發(fā)現(xiàn)并有相同問題的其他人有所幫助,而我的處境對我來說非常具體,現(xiàn)在。這個問題的答案應(yīng)該可以幫助我解決我的情況。我想是因為我是低代表用戶,所以人們認為我只是想解決我的問題(根據(jù)最近一些元文章中的吸血鬼評論),但是我只是低代表,因為我沒有足夠的經(jīng)驗來回答其他人問題和我的大多數(shù)問題都已經(jīng)得到了解答,有效地限制了我贏得代表的方式。我在這個社區(qū)工作已經(jīng)有好幾年了,并且知道它是如何工作的,我只是無法回饋自己的方式我想。我絕不打算從這個社區(qū)中抽水,而我編輯:我也發(fā)現(xiàn)有趣的是,這與本meta post同時發(fā)生了。對于我來說,這將是一個更好的地方,我會把它移到那里,并附帶一個巧合,那就是我也終于獲得了足夠的代表來獲得特權(quán)“參加meta”,但是花了很多時間我讀了該元文章,我失去了兩個代表,使我無法參加,所以在這里我再次將不相關(guān)的信息添加到錯誤的位置,因為即使現(xiàn)在已經(jīng)有一個帖子對我來說很完美,我仍然被排除在外。
查找由dict.get返回的列表的第一個元素
寶慕林4294392
2021-05-14 14:09:04