11 Tips And Tricks To Write Better Python Code

  Рет қаралды 622,506

Patrick Loeber

Patrick Loeber

Күн бұрын

Пікірлер: 451
@patloeber
@patloeber 4 жыл бұрын
I hope you find these tips helpful! Let me know if you have any other Python tips that improve your code :)
@uploadvoice
@uploadvoice 4 жыл бұрын
Helpful but too many ads cut...
@kingkhann9
@kingkhann9 3 жыл бұрын
Can you iterate from say idx 2 to n-4 of a list using enumerate without slicing or any extra lines of code...
@abhisheksanwal1106
@abhisheksanwal1106 3 жыл бұрын
@@sudhanshuranjan9 ya membership test is faster in set
@Princess0Reem
@Princess0Reem 3 жыл бұрын
remarkable!
@jorgemercadog
@jorgemercadog 3 жыл бұрын
Thank you!! Cheers from Chile!
@IlyaLisovfan
@IlyaLisovfan 3 жыл бұрын
In Python 3.9.0 or greater we can merge dictionaries using `|`: d1 = {"name": "Alex", "age": 25} d2 = {"name": "Alex", "city": "New York"} merged_dict = d1 | d2
@drygordspellweaver8761
@drygordspellweaver8761 2 жыл бұрын
I like this as it stays true to Pipe symbol
@billw8dsx939
@billw8dsx939 2 жыл бұрын
you rock
@DailyDoseOfCCP
@DailyDoseOfCCP 2 жыл бұрын
And print(merged_dict == d1 | d2) will print out true
@flames9310
@flames9310 2 жыл бұрын
This syntax is way simpler.
@albo5194
@albo5194 2 жыл бұрын
Is there an easy (and fast for large dictionaries) way to merge dictionaries in a way, that it includes every value of both dicts with the same key? for example, if d2 would include "name": "Luca" instead of "Alex", i would like the merged output to be like: {"name": ["Alex", "Luca"], "age": 25, "city": "New York"}
@FailedSquare
@FailedSquare 4 жыл бұрын
0:20 Iterate with Enumerate x For Loops with If 1:02 List Comprehension x For Loops 1:51 Sort iterables with sorted() 3:00 Unique values with Sets 3:37 Generators replacement for Lists 4:58 default values for dictionary keys 6:06 Count objects with collections.Counter 7:39 f-Strings > str.format() 8:20 Build up strings with .join() 9:27 merge dictionaries - This feature is updated again in 3.9 using | 10:00 simplify if statements
@patloeber
@patloeber 4 жыл бұрын
Thanks for the summary :)
@yt-sh
@yt-sh 3 жыл бұрын
@@patloeber you made this in 11 min, I see what u did there
@DavidTangye
@DavidTangye 3 жыл бұрын
@@patloeber This is a very nice video for quick reference on these coding best practices. Can you please copy this list of times to the video Description for future reference. That makes the vid hugely helpful for in future.
@Daniel-um9ye
@Daniel-um9ye 2 жыл бұрын
Superb content. I am a C++ programmer, but since 2019 have been dabbling with python. Being pythonic is actually what I look for as of now. Thanks.
@evanhagen7084
@evanhagen7084 3 жыл бұрын
On the last tip it would be much faster to use a set instead of a list. Sets have constant lookup time but lists have O(n) lookup time.
@sshishov
@sshishov 3 жыл бұрын
To convert list into set you need to execute O(n) operation.
@evanhagen7084
@evanhagen7084 3 жыл бұрын
@@sshishov my point is you shouldn't even create a list in the first place. You should create a set to begin with
@sshishov
@sshishov 3 жыл бұрын
Agree, but sometimes lists are needed if you want to keep duplicates or you want to keep items in inserted order.
@andraspongracz5996
@andraspongracz5996 3 жыл бұрын
@@sshishov True, but if you want to check membership, say, n times, than its O(n) vs. O(n**2). It depends on the problem which data structure is better, as your second comment shows. But if you are only worried about runtime, then @Evan Hagen is correct: you basically cannot lose by using a set (I mean even if you have to convert first), because if you run it once, it is the same runtime, but if you do it many times, then set is the better choice.
@sshishov
@sshishov 3 жыл бұрын
@@andraspongracz5996 agree 👍
@etgaming6063
@etgaming6063 Жыл бұрын
If you aren't speeding up your videos during your scripting then you are a REALLY FAST typer, like holy crap. IDK how you can type those lists in under a second, that is crazy to me.
@jth5726
@jth5726 2 жыл бұрын
dude, I've been doing a programming course 12 weeks, I feel like f-strings are something we should have been taught immediately, why am I only learning it through you
@eminm6383
@eminm6383 2 жыл бұрын
I almost don't know any python, but I was able to comprehend 80% of the content. Amazing simple explanation. Thanks.
@manuelmanolo7099
@manuelmanolo7099 2 жыл бұрын
I thought this would be something that would go way over my head but, as some that recently started learning python, this was really valuable!
@jordangl1
@jordangl1 2 жыл бұрын
Your videos are by far the most concise and easiest to assimilate compared to every other YT Python teacher (to me). Thanks for taking the time. Good stuff
@schedarr
@schedarr 3 жыл бұрын
That is absolutely golden video. Extremaly useful tricks that will make your life way much easier. I've already used 10 out of 11 but still it's nice refresher.
@patloeber
@patloeber 3 жыл бұрын
Great to hear!
@stevenwilson5556
@stevenwilson5556 3 жыл бұрын
The Squares example.. here's Python code: squares = [i*i for i in range(15)] print(squares) Here's the R code: x = 1:14; x^2 Python 48 characters, 2 lines R 13 characters, 1 line Advantage: R.
@stevenwilson5556
@stevenwilson5556 3 жыл бұрын
at 4:15 using generators: Python: my_gen = (i for i in range(10000)) print(sum(my_gen)) R: x = 1:1e4; sum(x) Python 52 R 17 Advantage: R.
@saurabhjain507
@saurabhjain507 4 жыл бұрын
I love how you explain with simplicity. Great content.
@patloeber
@patloeber 4 жыл бұрын
Thank you! Glad you like it!
@Arson_Oakwood
@Arson_Oakwood 9 ай бұрын
I'm amazed at how there are beginner programmers, who never read basic tutorial in official documentation, and then watch similar videos, thinking they are learning advanced concepts.
@RicardoAmaralAndrade
@RicardoAmaralAndrade 3 жыл бұрын
Simply wonderful! Subscribed in the first 2 minutes! Python is the greatest modern language, and these tips are gold!
@patloeber
@patloeber 3 жыл бұрын
Thank you so much!
@YouAreNotFree1
@YouAreNotFree1 3 жыл бұрын
First example: return [max(i, 0) for i in data]
@vitalimueller6209
@vitalimueller6209 4 жыл бұрын
Nr.3 you can also do: from operator import itemgetter sorted_data = sorted(data, key=itemgetter('age'))
@patloeber
@patloeber 4 жыл бұрын
Yes thanks for the tip :)
@Mdroudian
@Mdroudian 2 жыл бұрын
i like this
@plumberski8854
@plumberski8854 5 ай бұрын
Clear tips, like how you explain them, are simple and clear!
@davidvanleeuwen3274
@davidvanleeuwen3274 3 жыл бұрын
Thanks a lot! The first minute already helps a lot.
@nebular-nerd
@nebular-nerd Жыл бұрын
Some interesting tips, I'm just going through a reformat of a new script and this should help tidy and speed some operations.
@ekkyarmandi
@ekkyarmandi 2 жыл бұрын
Nice tips. It speedup my code writing. Thanks, man.
@gauravrajput8109
@gauravrajput8109 2 жыл бұрын
I am so glad I found this channel.
@TheSuperUser
@TheSuperUser 4 жыл бұрын
Great video. Please make more of these quick tips for comparisons of "beginner" python code vs experienced developer idioms
@patloeber
@patloeber 4 жыл бұрын
Thanks :)
@wintur2856
@wintur2856 10 ай бұрын
Thanks for these tips! It's hard finding content outside beginner courses.
@PaulTheEldritchCat
@PaulTheEldritchCat 2 жыл бұрын
Nice tips, I'll save the video for later. Thanks!
@Kinos141
@Kinos141 3 жыл бұрын
Finally, how to do strings properly. I love using something like that in c#, and I'm glad it's on other languages like python.
@mei2654
@mei2654 2 жыл бұрын
2:59 you can preserve order with the help of sorted function example: my_list = [1, 2, 2, 3, 4, 5, 6, 7, 7 , 9, 8] sorted(set(my_list), key= lambda x: my_list.index(x)) >>> [1, 2, 3, 4, 5, 6, 7, 9, 8]
@0LoneTech
@0LoneTech Жыл бұрын
Fun fact: Dictionaries are now order preserving, so you can do the old trick of using a dict as a set and keep order without sorting. E.g. {k:None for k in [5,2,3,2,6,5,1]}.keys()
@thebuggser2752
@thebuggser2752 3 жыл бұрын
Great collection of useful tips, presented very clearly and concisely. Thanks!!
@rushi7312
@rushi7312 2 жыл бұрын
I'm a beginner -ish and knew about half to 2/3rd, but also learned a few good tricks :) Thanks
@akshitstenaa
@akshitstenaa 3 жыл бұрын
I am your fan now , thx a ton mate for all these tips.
@patloeber
@patloeber 3 жыл бұрын
Awesome, thank you!
@akshitstenaa
@akshitstenaa 3 жыл бұрын
Please try adding videos on Scarpping, ML & analytics . 🙂
@srimanthmahadev8272
@srimanthmahadev8272 3 жыл бұрын
An alternative of TIP 10: if you have two dictionaries you can join them using | operator. d1={'one' : 1, 'two':2} d2={'three':3} d3=d1|d2 print(d3) output: {'one': 1, 'two': 2, 'three': 3}
@patloeber
@patloeber 3 жыл бұрын
yep great tip!
@vishnuuvardhanreddy3010
@vishnuuvardhanreddy3010 3 жыл бұрын
Bro i am new to python I am very much interested to learn python please give me suggestion to develop my python basics to reach up to a professional level
@notbme2731
@notbme2731 3 жыл бұрын
@@vishnuuvardhanreddy3010 KZbin and reddit are your best friends to learn anything
@ИванИваныч-н3у
@ИванИваныч-н3у 3 жыл бұрын
Not worked on all versions of python, just new.
@ИванИваныч-н3у
@ИванИваныч-н3у 3 жыл бұрын
What about dict update method?
@marcelomelo6349
@marcelomelo6349 11 ай бұрын
My tips: 1.Use map instead of for 2.Don't forget the walrus operator, just a details. 3.Don't use func(list[0], list[1]) use func(*list) 4.The tip 3 is also good for creating iterables in certain cases, [*list] for example 5.Don't iterate if you want new items for the list, use list.extend()
@marcelomelo6349
@marcelomelo6349 11 ай бұрын
What do you think? Do you have more?
@akira_asahi
@akira_asahi 2 жыл бұрын
Thank you for the video. I am grateful for your time and contribution. Kind regards, Akira.
@alankritverma1839
@alankritverma1839 10 ай бұрын
one of the best python videos. Really useful
@DisSsha
@DisSsha 3 жыл бұрын
Hello, Thanks for those great tips !! Does someone knows which IDE he is using ?
@goldendovah7613
@goldendovah7613 3 жыл бұрын
Looks like visual studio code.
@faithinverity8523
@faithinverity8523 2 жыл бұрын
Superb [ ] of tips. Thank you!
@davidtalturejman9185
@davidtalturejman9185 Жыл бұрын
Thanks man! Nice video!!
@rutanshudesai
@rutanshudesai 2 жыл бұрын
amazing tips, very very valuable. thank you for sharing.
@abdallahsalim4759
@abdallahsalim4759 2 жыл бұрын
Thanks man, this was helpful
@MasterEhsan369
@MasterEhsan369 5 ай бұрын
THANKS that was useful...
@fahnub
@fahnub 2 жыл бұрын
bro this was super helpful. thanks for this.
@shababe2243
@shababe2243 2 жыл бұрын
Excellent information,Thanks
@leesweets4110
@leesweets4110 2 жыл бұрын
Generators and dictionary merger were new to me and I can see being very useful. Are generators more costly in terms of time efficiency? Seems to me that calling it multiple times is less efficient than having a precomputed list.
@gudguy1a
@gudguy1a Жыл бұрын
Still very relevant content, thanks for having this.
@GaelGendre
@GaelGendre 3 жыл бұрын
Dude this is great, thanks!
@patloeber
@patloeber 3 жыл бұрын
happy to hear this :)
@datastako156
@datastako156 2 жыл бұрын
very helpful. thank you!
@Kinos141
@Kinos141 3 жыл бұрын
I noticed that merge dictionaries doesn't merge into a new line, but more over writes the old on. I changed the name in the d2, and it overwrote the name in d1. I thought it would just create a new name in the dict. Is this the intended behavior?
@ИванИваныч-н3у
@ИванИваныч-н3у 3 жыл бұрын
Yes, the keys must be unique, otherwise it will be replaced.
@zacky7862
@zacky7862 3 жыл бұрын
Could you please tell how to safely count or check the if the generators items are empty?
@Zephyr-tg9hu
@Zephyr-tg9hu 4 жыл бұрын
Awesome tips, thank you!
@patloeber
@patloeber 4 жыл бұрын
Glad it's helpful!
@latt.qcd9221
@latt.qcd9221 3 жыл бұрын
The idea of list comprehensions was new to me, but I was curious if there was an option for dictionary comprehensions and, sure enough, there is! Was able to clean up a lot of my dictionary for loops. Thanks!
@mostafasadeqq
@mostafasadeqq 2 жыл бұрын
what a legend , ty very much man
@changwei-zhe9406
@changwei-zhe9406 3 жыл бұрын
thanks for the useful sharing!!!
@patloeber
@patloeber 3 жыл бұрын
glad you like it!
@jomelsanpedro7271
@jomelsanpedro7271 3 жыл бұрын
thank you so much. keep it up you're the best.
@patloeber
@patloeber 3 жыл бұрын
thank you!
@javohirorziqulov9644
@javohirorziqulov9644 3 жыл бұрын
only one word: amazing...
@patloeber
@patloeber 3 жыл бұрын
thanks!
@akashgillella
@akashgillella 2 жыл бұрын
Wonderful tips. Every single one is pretty useful.
@gomathikreddy350
@gomathikreddy350 3 жыл бұрын
Great content. Thank you for sharing ur knowledge. It'll help if the font sizes are larger for screen casts. I watch ur videos on an old android phone. 😐
@patloeber
@patloeber 3 жыл бұрын
thank you for the feedback! I try to improve this on my newer videos
@gomathikreddy350
@gomathikreddy350 3 жыл бұрын
Thank you. 😊🙏
@zacky7862
@zacky7862 3 жыл бұрын
This is great. I'm always looking on better coding style. Could you tell which vs code theme that you are using? Thanks
@patloeber
@patloeber 3 жыл бұрын
Yes, I think it's the Night Owl theme
@mmxo2631
@mmxo2631 2 жыл бұрын
literally watched for 1:03 seconds and i love the video. I'm a beginner btw. SUBBED!
@octobotdev
@octobotdev 2 жыл бұрын
Thanks for the tips, always great to listen to fellow Python devs!
@victorsuarez4333
@victorsuarez4333 2 жыл бұрын
Thank you, this video was very helpful!
@HiteshKumar-178
@HiteshKumar-178 4 жыл бұрын
Really admire your work! Nice work mate
@patloeber
@patloeber 4 жыл бұрын
Thank you!
@alyssonmachado1254
@alyssonmachado1254 3 жыл бұрын
Valuable tips! Thank you very much!
@sc0urge561
@sc0urge561 3 жыл бұрын
One question though, are generators also faster than lists?
@patloeber
@patloeber 3 жыл бұрын
no, the important point is that it requires less memory
@NavinKumar-tv9hg
@NavinKumar-tv9hg Жыл бұрын
Wonderful. Thank you!
@enzopestana
@enzopestana 6 ай бұрын
really helpful, thanks a lot
@manuelpardall8688
@manuelpardall8688 3 жыл бұрын
Very useful tips and tricks! Thank You
@patloeber
@patloeber 3 жыл бұрын
glad it's helpful :)
@knowledgedaily1173
@knowledgedaily1173 3 жыл бұрын
This is one of the best python related videos I have seen.
@patloeber
@patloeber 3 жыл бұрын
thanks a lot!
@tincustefanlucian7495
@tincustefanlucian7495 3 жыл бұрын
Generators tip was quite a nice trick to know! So easy to be confounded with list generator.
@patloeber
@patloeber 3 жыл бұрын
yep it's very handy sometimes :)
@onurkoc6869
@onurkoc6869 2 жыл бұрын
You are Superman:) Thanks for all of sharing.
@abdulqadar9580
@abdulqadar9580 2 жыл бұрын
Please make complete playlist like these tips of python
@chuzhong1214
@chuzhong1214 2 жыл бұрын
Is the enumerate function really that much better? Having trouble finding convincing arguments other than “it’s more pythonic”. Performance also seems to be better using range/len … presumably because you don’t have to generate a whole list of indices first but rather just fetch the size of the array itself.
@0LoneTech
@0LoneTech Жыл бұрын
enumerate creates (and usually unpacks) a tuple for each item, so it is quite plausible to have it operate slightly slower than a range iterator. range hasn't built the full list since Python 2 (back then the current range was known as xrange). You can also enumerate any iterable, not just sequences of known length. Mostly the difference does come down to clarity, and that's a pretty compelling argument IMHO. How long would it take you to recognize zip(itertools.count(), iterable) as the same function?
@petelogiudice8202
@petelogiudice8202 2 жыл бұрын
Very helpful in refactoring my brain to be more pythonic!
@MrGustavCR
@MrGustavCR 4 жыл бұрын
Another great video. Thanks for the amazing content.
@patloeber
@patloeber 4 жыл бұрын
Glad you like it :)
@maxfondle6793
@maxfondle6793 2 жыл бұрын
Thank you. Mind actually blown.
@bashvim
@bashvim 2 жыл бұрын
What keyboard shortcut are you using run the python file in the Output tab below?
@paulosergioschlogl9550
@paulosergioschlogl9550 8 ай бұрын
The {**d1, **d2} can be used with collections defaultdicts?
@jorgeluismongeblanco6933
@jorgeluismongeblanco6933 2 жыл бұрын
For #1, I would prefer a list comprehension: data = [0 if e < 0 else e for e in data]
@albertog2196
@albertog2196 4 жыл бұрын
Best python channel in YT
@patloeber
@patloeber 4 жыл бұрын
Thank you :)
@krupaneshkrishnan9284
@krupaneshkrishnan9284 3 жыл бұрын
Great video, Thanks.
@eranzaksh
@eranzaksh Жыл бұрын
Thank you! Isn't enumerate slower then range(len())?
@azsxcvbnhjks
@azsxcvbnhjks 3 жыл бұрын
the first tips give error if you try it. 'int' object does not support item assignment
@manojm9084
@manojm9084 2 жыл бұрын
This is a very good video. Thank you very much , keep up the good work .
@Mangohawk124
@Mangohawk124 2 жыл бұрын
What idle do you use i.e what is used in the vedio ??
@travelchimps6637
@travelchimps6637 10 ай бұрын
Great content and background music
@sig7813
@sig7813 3 жыл бұрын
Very cool. Learn from you a lot
@patloeber
@patloeber 3 жыл бұрын
Glad to help
@TejasBangera
@TejasBangera 4 жыл бұрын
Thank you, Subscribed to the channel
@patloeber
@patloeber 4 жыл бұрын
Thanks!
@saitejam3769
@saitejam3769 2 жыл бұрын
Sir please post videos on nested loops and tips in nested loops
@castlecodersltd
@castlecodersltd 2 жыл бұрын
Very useful, thanks ☺
@MarioVegaTOAO
@MarioVegaTOAO 3 жыл бұрын
Most excellent video!
@mohamedmzoughi8234
@mohamedmzoughi8234 2 жыл бұрын
Very informative great job
@chakkarapaniv
@chakkarapaniv 4 жыл бұрын
Hey, Excellent videos. The style is amazing! and more informative!. I am following you.
@patloeber
@patloeber 4 жыл бұрын
Great, thank you!
@emilioschmidt2106
@emilioschmidt2106 3 жыл бұрын
Why does the .join method not accept generators? Wouldn't that be a perfect use case as you only need the values of the list one at a time
@patloeber
@patloeber 3 жыл бұрын
yeah it's only implemented for strings, but you could implement your own join method for generators
@mywebuniversity
@mywebuniversity 2 жыл бұрын
Excellent video, very precise and nicely done!
@pavin3949
@pavin3949 2 жыл бұрын
What is the compiler r u using ?
@ssshukla26
@ssshukla26 3 жыл бұрын
Merge dictionaries.... Woahhhhh.... Oh my God... Thank you so much... That will make my life a bit easier....
@prashanthreddy1924
@prashanthreddy1924 3 жыл бұрын
you made me a better programmer with this video. Please do more series of videos like this.
@patloeber
@patloeber 3 жыл бұрын
glad to hear this!
4 жыл бұрын
Hey dude. Thanks for this video, it helped me a lot in my studies! What's the theme you're using? I found it really cool and couldn't find it on the marketplace
@patloeber
@patloeber 4 жыл бұрын
It's the night owl theme. Have a look at my tutorial about my VS Code setup :)
@shashishekhar----
@shashishekhar---- 2 жыл бұрын
very informative video brother 👍
@PhuongVu-jv9eg
@PhuongVu-jv9eg 3 жыл бұрын
Thank you very much! Keep up with the good work!
@patloeber
@patloeber 3 жыл бұрын
Thanks, will do!
@namanthacker
@namanthacker 9 ай бұрын
Very nice and useful tips
5 Good Python Habits
17:35
Indently
Рет қаралды 666 М.
8 Python Coding Tips - From The Google Python Style Guide
17:12
ArjanCodes
Рет қаралды 161 М.
Mom Hack for Cooking Solo with a Little One! 🍳👶
00:15
5-Minute Crafts HOUSE
Рет қаралды 23 МЛН
Beat Ronaldo, Win $1,000,000
22:45
MrBeast
Рет қаралды 158 МЛН
1% vs 100% #beatbox #tiktok
01:10
BeatboxJCOP
Рет қаралды 67 МЛН
6 Tips to write BETTER For Loops in Python
9:19
Patrick Loeber
Рет қаралды 250 М.
10 Python Basics You Should Know!
10:08
Patrick Loeber
Рет қаралды 79 М.
5 Tips To Write Better Python Functions
15:59
Indently
Рет қаралды 114 М.
How Senior Programmers ACTUALLY Write Code
13:37
Thriving Technologist
Рет қаралды 1,6 МЛН
50 Python Tips and Tricks for Beginners
42:41
Caleb Curry
Рет қаралды 67 М.
7 Python Code Smells to AVOID at All Costs
22:10
ArjanCodes
Рет қаралды 376 М.
10 Python Tips and Tricks For Writing Better Code
39:21
Corey Schafer
Рет қаралды 1,3 МЛН
25 nooby Python habits you need to ditch
9:12
mCoding
Рет қаралды 1,8 МЛН
10 ULTIMATE Python Tips 🔥
16:42
Tech With Tim
Рет қаралды 72 М.
How To Write Better Functions In Python
14:17
Indently
Рет қаралды 54 М.
Mom Hack for Cooking Solo with a Little One! 🍳👶
00:15
5-Minute Crafts HOUSE
Рет қаралды 23 МЛН