Pesquisar na Comunidade
Mostrando resultados para as tags ''python-3.x''.
Encontrado 2 registros
-
Boa noite! Tenho uma lista que contém outras listas com dados referentes a nome, idade e altura de várias pessoas: pessoas = [['PAULO', 75, 1.74], ['ANDRE', 15, 1.87], ['PEDRO', 26, 1.46], ['JULIO', 75, 1.78], ['PAULO', 84, 1.88], ['JOÃO', 34, 1.56], ['SERGIO', 88, 1.74]] Feito isso, eu criei um for para encontrar pessoas com nomes repetidos. Caso encontre um nome igual, ele compara a idade. Se essa pessoa com o mesmo nome for mais velha, ele substitui a idade e a altura dessa pessoa com o mesmo nome, criando assim uma nova lista (l). Ou seja, eu não quero nomes repetidos na lista. Caso haja, ele deixa na nova lista a pessoa que for mais velha, com sua respectiva idade. Esse foi meu código: l = [] for i in pessoas: if pessoas[i][0] not in l: #SE NÃO TIVER NENHUMA PESSOA COM ESSE NOME, É INSERIDO OS DADOS DA PRIMEIRA PESSOA l.append(i) else: idadeindex = l.index(pessoas[i][0]) #SE JÁ TIVER ESSE NOME, Ó CÓDIGO PROCURA O INDEX DO NOME QUE já ESTA DENTRO DA LISTA if l[idadeindex][1] < pessoas[i][1]: #SE A IDADE DE QUEM ESTA DENTRO DA LISTA FOR MENOR DA PESSOA QUE ESTÁ FORA l[idadeindex][1] = pessoas[i][1] #POR FIM, ELE SUBSTITUI A IDADE E A ALTURA, MATENDO O NOME l[idadeindex][2] = pessoas[i][2] print(l) Ele volta esse erro: TypeError: list indices must be integers or slices, not list Sou novato em Python e não consigo fazer meu código funcionar. Alguém consegue pensar em uma forma mais fácil de fazer isso?
-
Boa noite galera, gostaria da ajuda de vocês, se tiver algum programador em Python que conseguisse resolver esse problema: https://pt.stackoverflow.com/questions/266507/como-fazer-todas-as-combinações-possíveis-para-chegar-em-um-resultado-proposto