問題:如何列出my_list
列表高效pythonically轉換爲一個字典my_dict
所以每一個嵌套列表是零個元素是關鍵,其餘元素是一個值(也是列表)。在Python,轉換列表,字典,使第n個元素是一個關鍵
例子:
輸入:
my_list = [['a', 'b'],
['b', 'c', 'd', 'e', 'f'],
['g'],
['h', 'i', 'j'],
['k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't']]
輸出:
my_dict = {'a': ['b'],
'b': ['c', 'd', 'e', 'f'],
'g': None,
'h': ['i', 'j'],
'k': ['l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't']}
旁註: 我的數據集是巨大的,因此方法必須是清潔,高效。雖然迭代列表是可以接受的,但我寧願避免嵌套循環(以保持O(n)的複雜性)。我設法編寫一個函數,通過迭代輸入列表來完成工作,並彈出第零個元素,但是使得整個解決方案O(n * n)成爲popping is itself O(n)。
如果什麼'mydict [I] [0]'有重複? – voidpro
你的意思是'my_list'?在字典中,如果有一個鍵重複,它只是覆蓋舊的值。如果你的意思是'my_list',它不會有重複,我在腳本中檢查它。 – Artur
是的。我的意思是'my_list [i] [0]'如果沒有重複,那麼下面的答案就可以在沒有任何數據中斷的情況下解決。 – voidpro