我正在尋找最pythonic的方式來實現列表extend
函數的一個版本,其中它擴展到一個給定的索引,而不是名單。list extend()以索引,不僅插入列表元素到末尾
a_list = [ "I", "rad", "list" ]
b_list = [ "am", "a" ]
a_list.my_extend(b_list, 1) # insert the items from b_list into a_list at index 1
print(a_list) # would output: ['I', 'am', 'a', 'rad', 'list']
有沒有辦法做到這一點,而不建立一個新的列表,像這樣?
a_list = [ "I", "rad", "list" ]
b_list = [ "am", "a" ]
c_list = []
c_list.extend(a_list[:1])
c_list.extend(b_list )
c_list.extend(a_list[1:])
print(c_list) # outputs: ['I', 'am', 'a', 'rad', 'list']
這種方法實際上並不那麼糟糕,但我有一個預感它可能會更容易。可以嗎?
構建一個新列表沒有錯,但爲什麼你要一步一步做呢?它比這更簡單:'c_list = a_list [:1] + b_list + a_list [1:]'。 –
我不知道+是過載的列表。 – mwcz
我需要相同的東西,但幾乎會問,而不是,要求'插入'行爲添加「解壓縮」列表元素在索引中的方式類似的方式'extend'確實...答案將會是相同的:-D – danicotra