Python Tips and Tricks — Write Better Python Code
Learn how to write better Python code by understanding how to go beyond the basics. This tutorial covers five different Tips and Tricks namly Filter, Map, String Concatenation, List Comprehension and List iteration. In case you’re new to Python Programming and need a formal introduction to the language, we have made a full Python course on Youtube: https://youtu.be/L3v5tu_ang4.
The first two Tips and Tricks is also explained further in the following video on YouTube: https://youtu.be/UCRw77vRHnw
For more see Vinsleov Academy official Subreddit: https://www.reddit.com/r/vinsloevAcademy/
View our newest medium story:
Getting into Cybersecurity in 2023
map() function applies a given function to each item of an iterable (list, tuple etc.) and returns an iterator. In the example below our function numFunc(x) divide each element in our data list by two and return the result. This is way more efficient than making a loop to iterate over each element.
data = [1, 10, 20, 25]
list(map(numFunc, data))Output => [0.5, 5.0, 10.0, 12.5]
filter() function extracts elements from an iterable (list, tuple etc.) for which a function returns
True. Again this can be used instead of looping over each element applying the condition.
return x < 10
data = [1, 10, 20, 25]
list(filter(numLessThan, data))Output => 
For more stories by Vinsloev Academy, sign up as a member and support our work: https://vinsloev.medium.com/membership
Now that we have seen the first two examples using standard functions, it’s time to dive into the last three which can really help you improve your Python Programming skills. All three is further explained in: https://youtu.be/DC0UfcHDEbs
When having a iterable element e.g a List you can assign naming variables to each element for later reference use. This makes your code more readable and ensures that you dont have to reference to a given position using it’s index value. In the example below the naming variables name, lastname and country is applied to the user1 list. So when in need of e.g name and lastname we can just tell python to provide us those instead of saying user1 and user1.
user1 = ['Megan', 'Hansen', 'Sweden']
name, lastname, country = user1
people = [user1, ['Thomas', 'Hansen', 'Germany']]
for (name, lastname, country) in people:
print(name, lastname)Output => Megan Hansen, Thomas Hansen
When doing string concatenation you might be used to loop over each element in e.g a list and then concatenate is to a given variable and its previous value using +=, like illustrated below:
user = ['Megan', 'Hansen', 'Sweden']
result = ''
for item in user:
result += item
However you can obtain the same result using the join() function and thereby remove the need for a loop making your code both cleaner and more efficient.
result1 = ''.join(user)
When in need of a subset from a given list for appending on a new/another list, again a for loop along with a if statement, might be the go-to choice like written below. However the same result can be achieved using less code and written as a one liner.
return x < 10
oList = [7, 10, 20, 5, 4, 80]
nList = 
for item in oList:
The following line of code achieve the same result with less amount of code, even tough the for loop and the if condition is preserved.
nList = [(item) for item in oList if numLessThan(item)]
For more Python Tips and Tricks like this visit the Vinsloev Academy page here on Medium or on YouTube, as this story is part of a larger series of build it yourself Python tools for Ethical hacking: https://www.youtube.com/channel/UC-OKxBgjKLBGHbueyIOWptw?sub_confirmation=1
Book — Violent Python: A Cookbook for Hackers, Forensic Analysts, Penetration Testers and Security Engineers: https://amzn.to/3RWAjyY