说我有以下内容:
wholeList = ['a', 'b', ['1', '2', '4'], 'c', 'd']
如何添加值' 3'进入wholeList中的数字列表,在值' 2'之后的点但在价值' 4'?
之前答案 0 :(得分:1)
索引到正确的子列表,然后使用list
的{{1}}方法。
insert
答案 1 :(得分:1)
您可以在列表理解中使用numpy.searchsorted
和insert
函数:
def custom_insert(arr,val):
return [list(np.insert(sub,np.searchsorted(sub,val),val)) if all(i.isdigit() for i in sub) else sub for sub in arr]
演示:
>>> custom_insert(wholeList,'3')
... ['a', 'b', ['1', '2', '3', '4'], 'c', 'd']
另一个例子:
>>> wholeList = ['a', 'b', ['1', '2', '4'], 'c',['5','6','7','8'] ,'d']
>>> custom_insert(wholeList,'3')
['a', 'b', ['1', '2', '3', '4'], 'c', ['3', '5', '6', '7', '8'], 'd']
在这里,您可以遍历列表,并检查每个元素是否所有项都是数字,然后使用numpy.searchsorted
在该列表中找到val
参数的索引并使用numpy.insert
将该数组中的值插入已建立的索引。
答案 2 :(得分:0)
您可以使用'3'
方法
append
wholeList[2].append('3')
此外,如果您希望保留订单,请使用insert()
wholeList[2].insert(2, '3')
答案 3 :(得分:0)
列表中的列表是否应该排序?如果是这样,那么也许这可以解决问题。虽然我想Kasramvd已经回答了你的问题。
def append_list(passed_list):
rtn_list = []
for item in passed_list:
if type(item) is list:
item.append(3)
rtn_list.append(sorted(item))
else:
rtn_list.append(item)
return rtn_list