Q:

Count dentro de um array com valores de outro array

Gostaria de realizar um count dos valores contidos dentro do array1 com os valores do array nomes, porém ele está me retornando uma saída com os valores estranhos
SCRIPT
array1 = [
'VALUE1',
'VALUE1',
'VALUE2',
'VALUE2',
'VALUE2',
'VALUE3',
'VALUE4',
'VALUE5',
]

nomes = ['VALUE1', 'VALUE2']

for valores in array1:
        for linha in nomes:
                print(valores.count(linha))

OUTPUT

1 0 1 0 0 1 0 1 0 1 0 0 0 0 0 0

OUTPUT DESEJADO

2 3

A:

Você não precisa de dois for a não ser que vá contar 'manualmente' - sem usar o méotodo .count.
O mais correto é chamar o método  .count do array1, passando cada palavra que deseja contar lá
array1 = [
'VALUE1',
'VALUE1',
'VALUE2',
'VALUE2',
'VALUE2',
'VALUE3',
'VALUE4',
'VALUE5',
]

nomes = ['VALUE1', 'VALUE2']

for linha in nomes:
        print(array1.count(linha))

Do jeito que você está fazendo, está contanto a ocorrência da palavra na lista "nomes" dentro de cada palavra  do "array1". (Strings também são sequências, por isso tem o método "count")
Isso aí funciona, mas não é o melhor jeito - ja que vai percorrer o array1 uma vez para cada palavra buscada - não vai fazer diferença nenhuma para um caso só com algumas linhas, e num programa que roda uma vez só - o tempo deve ser inferior a 10 milisegundos. Mas se isso acontece numa aplicação Web em que o tempo de resposta seja crítico, pode começar a fazer diferença. 
O ideal é um algoritmo que percorra toda a lista inicial (array1) apenas uma vez, e já vá contando os valores de todas as chaves que encontrar. O Python tem a classe collections.Counter que pode fazer isso de uma vez - mas para entender melhor o algoritmo:

array1 = ...
nomes = {'VALUE1': 0, 'VALUE2': 0}

for frase in array1:
   if frase in nomes:
       nomes[frase] += 1

print(nomes)

(As duas formas até aqui são só se o match de "nomes" for pra linha inteira do "array1" - se o valor em "nomes" for apenas uma parte da frase em "array1" tem que criar algo usando dois "for"  mesmo - ou transferindo um "for" para uma regular expression)

A:

O Python tem um função nativa chamada Count() que, como o nome já diz, faz contas.
Assim é muito mais simples rodar ela dentro de um for para cada um dos itens da sua lista nomese printar a quantidade dos mesmos. Olha como ficou bem mais curto e simples o seu código:
array1 = [
'VALUE1',
'VALUE1',
'VALUE2',
'VALUE2',
'VALUE2',
'VALUE3',
'VALUE4',
'VALUE5',
]

nomes = ['VALUE1', 'VALUE2']

for x in nomes:
  print(array1.count(x))

A:

esse metodo funciona , tem esse site que tem algums outros metodos pra python talvez ajude https://rstudio-pubs-static.s3.amazonaws.com/325708_d9b07b07bf2b4bc8803ba6d53d834eeb.html
array1 = ['VALUE1','VALUE1','VALUE2','VALUE2','VALUE2','VALUE3','VALUE4','VALUE5',]
nomes = ['VALUE1', 'VALUE2']
value1 = 0
value2 = 0
x= 0
while x < len(array1):
    if array1[x] == nomes[0]:
        value1= value1+1
    elif array1[x] == nomes[1]:
        value2= value2+1
    x= x+1
print(f'o Numero de {nomes[0]} = {value1} \no Numero de {nomes[1]} = {value2}')

Tambem existe o metodo Counts 

