これで問題が解決すると思います。
big_list = [[17465, [22, 33, 1, 7, 83, 54, 84, -5], '123-432-3'], \
[13254, [42, 64, 4, -5, 75, -2, 1, 6], '1423-1762-4'], \
[17264, [22, 75, 54, 2, 87, 12, 23, 86], '14234-453-1']]
# adding same string element to big_list
big_list.append([22222, [10, 12, 13], '14234-453-1'])
#now should itterate big_list, and when '14234-453-1' is found in 2 inner lists.
#it will put the values [10, 12, 13] into the first instance and remove the second.
print "Before:"
for l in big_list:
print l
seen_list = {}
del_list = []
for inner in xrange(len(big_list)):
if big_list[inner][2] in seen_list:
for item in big_list[inner][1]:
big_list[seen_list[big_list[inner][2]]][1].append(item)
del_list.append(inner)
else:
seen_list[big_list[inner][2]] = inner
for i in reversed(del_list):
del big_list[i]
print "after:"
for l in big_list:
print l
結果:
>>>
Before:
[17465, [22, 33, 1, 7, 83, 54, 84, -5], '123-432-3']
[13254, [42, 64, 4, -5, 75, -2, 1, 6], '1423-1762-4']
[17264, [22, 75, 54, 2, 87, 12, 23, 86], '14234-453-1']
[22222, [10, 12, 13], '14234-453-1']
after:
[17465, [22, 33, 1, 7, 83, 54, 84, -5], '123-432-3']
[13254, [42, 64, 4, -5, 75, -2, 1, 6], '1423-1762-4']
[17264, [22, 75, 54, 2, 87, 12, 23, 86, 10, 12, 13], '14234-453-1']