Check continence python list

Asked

Viewed 241 times

0

I’d like help with a code.

lista1 = [5, 6, 7]
lista2 = [4, 'a', 9, 5, 6, 7] 

Check if the list 1 (the whole list) is contained in Lista2

and if

lista2 = [4, 9, 5, 'a', 6, 7] 

do the same check, but now it’s negative.

2 answers

1

Create two set's (set of elements without repetitions) and use the method issubset.

lista1 = [5, 6, 7]
lista2 = [4, 'a', 9, 5, 6, 7]

set1 = set(lista1)
set2 = set(lista2)

if(set1.issubset(set2)):
    print('lista1 está contida em lista2')
else:
    print('lista1 não está contida em lista2')

See working on repl.it.

  • But when I replace Lista2 = [4, 9, 5, 'a', 6, 7], it goes on to say that the list belongs and should not.

  • @fnetto Deveria yes, ora. Still has 5, 6, 7 in the list.

  • From the comment, I believe he wants the check to be whether the contents of the list 1 is in Lista2 in the same sequence

  • Yeah, @Fabiano. But I would need to be sure to answer about.

0

About verifying that all the elements of list 1 are contained in list 2, you can create a for to walk through all the elements of the list 1 and use a in to analyze if they are in the list 2, if they are not, you can signal.

Take a look at this code

#-*- coding:utf-8 -*-

# Listas que serão comparadas
lista1 = [1,2,3,4]
lista2 = [1,2,3,4,5]

# Variável de referência
estaContido = 1

# Vamos andar por todos os elementos da lista 1
for n in lista1:
 # Se o elemento N da lista 1 estiver contido na Lista 2
 if n in lista2:
  # Passe direto
  pass
 # Se não(Algum elemento da lista 1 não está contido na lista 2)
 else:
  # Mudamos o valor da referência
  estaContido = 0

# Se todos os elementos da lista 1 estavam contidos na lista 2
if estaContido == 1:
 print("Lista 1 está contido na lista 2")
else:
 print("Lista 1 NÃO está contida na lista 2")

Browser other questions tagged

You are not signed in. Login or sign up in order to post.