我有一個看起來像這樣的列表:a_list = ['A','B','C','D']我想實現類似(能夠擴展列表):new_index = 6new_value = 'AA'a_list = insert_value(new_index, new_value)print(a_list)#['A','B','C','D','','','AA']還有類似的東西(能夠覆蓋新值):new_index = 2new_value = 'AA'a_list = insert_value(new_index, new_value)print(a_list)#['A','B','AA','D']
2 回答

元芳怎么了
TA貢獻1798條經驗 獲得超7個贊
我認為你需要:
def expand_insert(lst, idx, ele):
if len(lst) < idx:
void = idx - len(lst)
for i in range(void):
lst.append("")
lst.append(ele)
else:
lst[idx] = ele
return lst
print(expand_insert(a_list, 6, "AA"))

海綿寶寶撒
TA貢獻1809條經驗 獲得超8個贊
a_list = ['A','B','C','D']
index = [6,2]
for i in index:
if i >= len(a_list):
a_list.extend([''] * (i - len(a_list) + 1))
print(a_list)
a_list[i] = 'BBB'
else:
a_list[i] = 'AAA'
a_list
['A', 'B', 'AAA', 'D', '', '', 'BBB']
添加回答
舉報
0/150
提交
取消