Bem, o Python não possui interfaces, possui metaclasses e permite a digitação de patos. O Python possui compreensão de lista, que é muito poderosa e não existe em Java. Java tem um sistema de tipo rico com muitas estruturas de dados e Python apenas possui listas. Portanto, se você está aproveitando o que o Python possui em vez de tentar recriar o que o Java possui no Python, provavelmente está escrevendo código Pythonic.
Mas, no que diz respeito ao código OO, existem certos princípios básicos de estilo que não devem mudar de idioma para idioma: você sempre deve escrever um código que seja tímido e seco, esteja você escrevendo em Applescript, Python, Java ou C ++.
----Editar----
Como o @delnan salienta, existem na verdade CINCO tipos de dados compostos definidos pelo Python no nível do Kernel (lista, dict, tuple, set e frozenset, de acordo com minha cópia do "Python in a Nutshell"). Embora isso seja verdade, não é realmente relevante ao ponto que estou tentando enfatizar: o Python se baseia em listas como a estrutura de dados essencial. Sim, você PODE usar uma lista como uma pilha, mas você pode usar exatamente a mesma lista que uma fila. E então uma pilha novamente.
Java, por outro lado, possui uma estrutura de dados do kernel (Array, de acordo com "O Java Pocket Guide), mas, em geral, você não pode fazer muito em Java sem importar coleções. Depois de fazer isso, você tem acesso para uma biblioteca de tipos 'rica' (nesse sentido, imensamente complexa) com a qual obter a mesma funcionalidade que você possuía na lista do Python.
Obviamente, ambas as linguagens têm classes e Java possui interfaces, mas, embora sejam tipos de dados compostos, elas não são realmente estruturas de dados no sentido de livros didáticos.
Uma diferença é que você não pode exibir um item de uma fila do Java e não pode passar um objeto da fila do Java para algum lugar que esteja esperando uma lista vinculada do Java. Então, talvez por "rico" eu realmente queira dizer "rígido".
Então, para explicar o que quero dizer com "Python apenas possui listas", o que quero dizer é que você pode fazer praticamente tudo o que precisa fazer em Python, o que faria com Java Collections usando o tipo Pythons List. Esse tipo único faz o trabalho de muitos tipos em Java.
O que isso significa para o programador Python? Isso significa que você pode alavancar o tipo Python List para escrever código direto muito conciso sem o uso de bibliotecas adicionais - e a concisão (isto é, a característica de transmitir mais valor em menos caracteres) é uma característica principal do código "Pythonic" .