Your data model is a bit strange. Lists containing only one element, being string or float. My answer applies to that strange case.
l=[['1,2,3'], ['1,2'], ['1,2,3'], [1.0], [5.0]]
orig_list=[]
index_list=[]
for i,item in enumerate(l,1):
if isinstance(item[0],str):
toks = [int(x) for x in item[0].split(",")]
orig_list+=toks
index_list+=[i]*len(toks)
else:
orig_list.append(int(item[0]))
index_list.append(i)
print(orig_list)
print(index_list)
results in:
[1, 2, 3, 1, 2, 1, 2, 3, 1, 5]
[1, 1, 1, 2, 2, 3, 3, 3, 4, 5]
enumerate gives you the index (start at 1). Depending on the type, either split + convert to int, or just convert to float. And create a list of the same index, or just append the current index.