Fiz um post de truques em C e queria escrever sobre muito mais truques que conheço, já que a maioria deles está em Python e JS, embora eu tenha codificado em C a muito mais, mas de qualquer forma, aqui estão eles, começarei com coisas triviais sobre a sintaxe básica do Python, mas há algumas coisas que não são conhecidas pelos iniciantes, que marquei com uma estrela ⭐️:
Uma maneira fácil de acessar submatrizes de uma lista
Modificar um também modifica o outro, pois ambos são as mesmas alocações de memória
3 maneiras:
Começarei com algumas compreensões básicas de lista, mas elas rapidamente se tornarão menos triviais.
values = [word for word in values if len(word) > 1 and word[0] == 'a' and word[-1] == 'y'] # OR, a nicer way is ⭐️ values = [ string for string in values if len(string) > 1 if string[0] == 'a' if string[-1] == 'y' ]
Achatar uma lista de listas ou uma matriz 2D
Compreensão de lista aninhada: achatando uma matriz (uma lista de listas) ⭐️
Exemplo: matriz = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
values = [ number for row in matrix for number in row ] # first for loop then the next for loop is inside the first and so on
values = [ "Even" if x % 2 == 0 else "Odd" for x in range(10) ]
Esta sintaxe ->
"Mesmo" if x % 2 == 0 else "Odd" é válido em vários lugares em python, você também pode colocá-lo em variáveis, este é basicamente um operador ternário, mas mais detalhado
⭐️ Para entender qualquer compreensão de lista sempre olhe à esquerda e à direita da expressão, quaisquer loops aninhados vão da esquerda para a direita, quando o if else está à esquerda do loop for verificamos qual valor queremos inserir dependendo da condição if else, enquanto quando o loop for está à direita, estamos tentando filtrar da lista
Por exemplo, para criar uma lista 5x5x5: ⭐️
values = [[[num 1 for num in range(5)] for _ in range(5)] for _ in range(5)]
⭐️ Procure o loop for mais externo, o que estiver à sua esquerda será adicionado ao array de valores[], e o significado desta sintaxe: for _ in range(5) é que eu quero fazer o que quer que esteja ligado à esquerda deste loop for 5 vezes (porque não me importo com o valor da variável iteradora em cada iteração)
Se tivermos pares = [("a", 1), ("b", 2)]: uma lista de pares ou tuplas
-> my_dict = {k:v for k, v in pairs}: descompactação de valor, para que isso funcione, cada "par" em pares deve ter exatamente 2 entidades
Seja nums = [1, 2, 3, 1, 3, 2, 4, 2, 1, 3]
unique_nums = {x for x in nums}: python saberá que isso deve ser um conjunto porque você não tem nenhuma chave
Escreverei isso assim que tiver algum tempo, mas você ainda pode verificá-los aqui: AdvancedPythonConcepts, este é meu repositório git, onde documentei conceitos de python quando os aprendi pela primeira vez. Escreverei esta postagem com base neste repositório assim que tiver tempo...
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3