Добавление списка с вложенными списками - PullRequest
0 голосов
/ 20 сентября 2019

У меня есть список, который будет выглядеть как

list = [[0, 35], [1,56], [2,65],[3,40],[9,54] ......[99999,56]]

Структура списка - это вложенные списки, в которых 1-й элемент всегда является целым числом от 0 до 99999, а вторым элементом является случайное значение.

Теперь возникает вопрос: я хочу добавить список с отсутствующими целыми числами первого элемента, например: в приведенном выше списке 4, 5, ..8 и многие другие отсутствуют.И с добавленным списком, я хочу второй элемент в качестве максимального количества вторых элементов.Выходные данные должны быть такими:

list = [[0, 35], [1,56], [2,65],[3,40],[4,x], [5,x] ......[99999,56]]

, где x - максимум [35,56,65, ..... 56].

Спасибо за вопрос о моем коде, пожалуйста, примите во вниманиеследующий мой код

def CompleteList (raw_list):
raw_list.sort()
#print len(raw_list)

sequence_num_list = [item[0] for item in my_list]
rtt_list          = [item[1] for item in my_list]
rtt_max           = max(rtt_list)
#print rtt_max
#print len(sequence_num_list)
packet_lost_list  = list(sorted(set(range(0, 100000)) - set(sequence_num_list)))
print ('Packet Lost =%i' %len(packet_lost_list))

packet_lost_with_max_RTT = []
for i in range(len(packet_lost_list)):
    packet_lost_with_max_RTT.append([packet_lost_list[i],rtt_max])

#print len(packet_lost_with_max_RTT)

new_list = raw_list + packet_lost_with_max_RTT
print ('Length of new list =%i' %len(new_list))
return new_list

rtt_list представляет вторые элементы.package_lost_list представляет список комплиментов.

1 Ответ

0 голосов
/ 20 сентября 2019

Попробуйте это:

list_ = [[0, 35], [1,56], [2,65],[3,40],[9,54] ......[99999,56]]
max_sec_elem = max(i[1] for i in list_)
missing_first_elem = set(range(100000)) ^ set(i[0] for i in list_)
for i in missing_first_elem:
    list_.append([i, max_sec_elem])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...