I hope you find these tips helpful! Let me know if you have any other Python tips that improve your code :)
@uploadvoice4 жыл бұрын
Helpful but too many ads cut...
@kingkhann92 жыл бұрын
Can you iterate from say idx 2 to n-4 of a list using enumerate without slicing or any extra lines of code...
@abhisheksanwal11062 жыл бұрын
@@sudhanshuranjan9 ya membership test is faster in set
@Princess0Reem2 жыл бұрын
remarkable!
@jorgemercadog2 жыл бұрын
Thank you!! Cheers from Chile!
@IlyaLisovfan2 жыл бұрын
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
@drygordspellweaver87612 жыл бұрын
I like this as it stays true to Pipe symbol
@billw8dsx9392 жыл бұрын
you rock
@CryptoIgnition2 жыл бұрын
And print(merged_dict == d1 | d2) will print out true
@flames93102 жыл бұрын
This syntax is way simpler.
@albo5194 Жыл бұрын
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"}
@FailedSquare3 жыл бұрын
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
@patloeber3 жыл бұрын
Thanks for the summary :)
@yt-sh2 жыл бұрын
@@patloeber you made this in 11 min, I see what u did there
@DavidTangye2 жыл бұрын
@@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-um9ye2 жыл бұрын
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.
@evanhagen70842 жыл бұрын
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.
@sshishov2 жыл бұрын
To convert list into set you need to execute O(n) operation.
@evanhagen70842 жыл бұрын
@@sshishov my point is you shouldn't even create a list in the first place. You should create a set to begin with
@sshishov2 жыл бұрын
Agree, but sometimes lists are needed if you want to keep duplicates or you want to keep items in inserted order.
@andraspongracz59962 жыл бұрын
@@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.
@sshishov2 жыл бұрын
@@andraspongracz5996 agree 👍
@vitalimueller62093 жыл бұрын
Nr.3 you can also do: from operator import itemgetter sorted_data = sorted(data, key=itemgetter('age'))
@patloeber3 жыл бұрын
Yes thanks for the tip :)
@Mdroudian2 жыл бұрын
i like this
@manuelmanolo70992 жыл бұрын
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!
@schedarr3 жыл бұрын
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.
@patloeber3 жыл бұрын
Great to hear!
@saurabhjain5074 жыл бұрын
I love how you explain with simplicity. Great content.
@patloeber4 жыл бұрын
Thank you! Glad you like it!
@jordangl12 жыл бұрын
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
@eminm63832 жыл бұрын
I almost don't know any python, but I was able to comprehend 80% of the content. Amazing simple explanation. Thanks.
@TheSuperUser3 жыл бұрын
Great video. Please make more of these quick tips for comparisons of "beginner" python code vs experienced developer idioms
@patloeber3 жыл бұрын
Thanks :)
@jth57262 жыл бұрын
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
@YouAreNotFree13 жыл бұрын
First example: return [max(i, 0) for i in data]
@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.
@RicardoAmaralAndrade2 жыл бұрын
Simply wonderful! Subscribed in the first 2 minutes! Python is the greatest modern language, and these tips are gold!
@patloeber2 жыл бұрын
Thank you so much!
@thebuggser27522 жыл бұрын
Great collection of useful tips, presented very clearly and concisely. Thanks!!
@Kinos1412 жыл бұрын
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.
@srimanthmahadev82722 жыл бұрын
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}
@patloeber2 жыл бұрын
yep great tip!
@vishnuuvardhanreddy30102 жыл бұрын
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
@notbme27312 жыл бұрын
@@vishnuuvardhanreddy3010 KZbin and reddit are your best friends to learn anything
@ИванИваныч-н3у2 жыл бұрын
Not worked on all versions of python, just new.
@ИванИваныч-н3у2 жыл бұрын
What about dict update method?
@plumberski88542 ай бұрын
Clear tips, like how you explain them, are simple and clear!
@rushi73122 жыл бұрын
I'm a beginner -ish and knew about half to 2/3rd, but also learned a few good tricks :) Thanks
@AladdinPersson4 жыл бұрын
Nice video! I really like that you made those slides in between the tips (gonna steal that for my future videos 😁)
@patloeber4 жыл бұрын
Thank you! Glad you like it
@diegoftorrent3 жыл бұрын
Congratulations for this piece of art!!!! This kind of teach methodology is extremely rare. Thank you!
@davidvanleeuwen32742 жыл бұрын
Thanks a lot! The first minute already helps a lot.
@MrGustavCR4 жыл бұрын
Another great video. Thanks for the amazing content.
@patloeber4 жыл бұрын
Glad you like it :)
@latt.qcd92213 жыл бұрын
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!
@DisSsha2 жыл бұрын
Hello, Thanks for those great tips !! Does someone knows which IDE he is using ?
@goldendovah76132 жыл бұрын
Looks like visual studio code.
@Leo3ABPgamingTV2 жыл бұрын
Tip 1 and 2: are there any advantages in terms of performance and/or memory management? As somebody who has to work with several programming languages and switch between them on the fly, I think I'd rather keep things as uniform and generic as possible between languages rather than stick to language specific idioms just for the sake of it.
@jackgenewtf2 жыл бұрын
You're not doing it "for the sake of it," you're making it to make your code readable to others in your team.
@Leo3ABPgamingTV2 жыл бұрын
@@jackgenewtf I think you missing my point about having to work with multiple programming languages, and basing your comment off an assumption that everybody else on the team is following python (or any language) specific idioms. My question was - are there any real practical (technical) benefit beyond the "we just used to do it that way" (i.e. language "idiom") and an overused "readability" argument. If people regularly work and switch between several different languages, having as uniform code structure as possible between all those languages seems like a more effective way to go, including the benefit for other team members who work with several languages as well or maybe simply not very experienced with python. Also, some people seem to be making a mistake by thinking that concise readable code is the same as cramming as much as possible into a single line. For example in a tip #2 of this video I would argue that a first shown method of filling a list is actually more readable and comprehensible than the second one, especially for people with limited or even no experience with python. Even for somebody not familiar with python syntax it would be more or less clear at a glance what happens in the code. Unfortunately same can not be said about a "correct" example featured in the tip.
@R3mak3r2 жыл бұрын
Hey! The first tipp is really useful. Because it's a common issue - at least for beginners - using len for iterations. Because they use the lenght as an index instead of length - 1. So this method is readable and more secure because you cant use a non existent index. About the list comprehetions, ... I'm also not a fan, because I had trouble in the beginning to understand these. Plus I'm not a fan of long lines.
@wintur28567 ай бұрын
Thanks for these tips! It's hard finding content outside beginner courses.
@ekkyarmandi2 жыл бұрын
Nice tips. It speedup my code writing. Thanks, man.
@Arson_Oakwood5 ай бұрын
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.
@javohirorziqulov96443 жыл бұрын
only one word: amazing...
@patloeber3 жыл бұрын
thanks!
@marcelomelo63498 ай бұрын
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()
@marcelomelo63498 ай бұрын
What do you think? Do you have more?
@stevenwilson55562 жыл бұрын
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.
@stevenwilson55562 жыл бұрын
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.
@alankritverma18397 ай бұрын
one of the best python videos. Really useful
@faizalimuhammadzoda47313 жыл бұрын
Very useful information explained in a very easy-to-understand way. Thank you for the effort.
@patloeber3 жыл бұрын
glad it was helpul!
@gomathikreddy3502 жыл бұрын
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. 😐
@patloeber2 жыл бұрын
thank you for the feedback! I try to improve this on my newer videos
@gomathikreddy3502 жыл бұрын
Thank you. 😊🙏
@HKHforpeace4 жыл бұрын
Really admire your work! Nice work mate
@patloeber4 жыл бұрын
Thank you!
@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.
@octobotdev Жыл бұрын
Thanks for the tips, always great to listen to fellow Python devs!
@chakkarapaniv4 жыл бұрын
Hey, Excellent videos. The style is amazing! and more informative!. I am following you.
@patloeber4 жыл бұрын
Great, thank you!
@lakshmanans-zb5sg3 ай бұрын
combine one and two : print ([0 if value
@gauravrajput81092 жыл бұрын
I am so glad I found this channel.
@xoca71712 жыл бұрын
I wish I knew the get method for dicts sooner. I've been checking for the key first this whole time 😐
@tincustefanlucian74952 жыл бұрын
Generators tip was quite a nice trick to know! So easy to be confounded with list generator.
@patloeber2 жыл бұрын
yep it's very handy sometimes :)
@mei26542 жыл бұрын
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 Жыл бұрын
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()
@fahnub2 жыл бұрын
bro this was super helpful. thanks for this.
@NavinKumar-tv9hg Жыл бұрын
Wonderful. Thank you!
@gudguy1a10 ай бұрын
Still very relevant content, thanks for having this.
@jorgeluismongeblanco69332 жыл бұрын
For #1, I would prefer a list comprehension: data = [0 if e < 0 else e for e in data]
@PaulTheEldritchCat2 жыл бұрын
Nice tips, I'll save the video for later. Thanks!
@shababe22432 жыл бұрын
Excellent information,Thanks
@pouyan742 жыл бұрын
This is one of those channels that separate my life into pre- and post-subscription eras!
@patloeber2 жыл бұрын
this comment made my day :) glad you're here!
@azsxcvbnhjks3 жыл бұрын
the first tips give error if you try it. 'int' object does not support item assignment
@akira_asahi2 жыл бұрын
Thank you for the video. I am grateful for your time and contribution. Kind regards, Akira.
@Zephyr-tg9hu3 жыл бұрын
Awesome tips, thank you!
@patloeber3 жыл бұрын
Glad it's helpful!
@abdulqadar95802 жыл бұрын
Please make complete playlist like these tips of python
@alyssonmachado12542 жыл бұрын
Valuable tips! Thank you very much!
@abc_cba3 жыл бұрын
Dunno why did I find you this late ? Please add more tips on version 3.9 too. Thanks.
@patloeber3 жыл бұрын
Thanks 😊 ok
3 жыл бұрын
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
@patloeber3 жыл бұрын
It's the night owl theme. Have a look at my tutorial about my VS Code setup :)
@rutanshudesai Жыл бұрын
amazing tips, very very valuable. thank you for sharing.
@onurkoc68692 жыл бұрын
You are Superman:) Thanks for all of sharing.
@AmitabhSuman Жыл бұрын
Really useful tricks! Thanks for sharing.
@akashgillella2 жыл бұрын
Wonderful tips. Every single one is pretty useful.
@mmxo26312 жыл бұрын
literally watched for 1:03 seconds and i love the video. I'm a beginner btw. SUBBED!
@zacky78623 жыл бұрын
This is great. I'm always looking on better coding style. Could you tell which vs code theme that you are using? Thanks
@patloeber3 жыл бұрын
Yes, I think it's the Night Owl theme
@petelogiudice82022 жыл бұрын
Very helpful in refactoring my brain to be more pythonic!
@venkatesanr94554 жыл бұрын
Expecting some series and by the way, good explanation with informative content, it helps a lot
@patloeber4 жыл бұрын
Thanks!
@mywebuniversity2 жыл бұрын
Excellent video, very precise and nicely done!
@travelchimps66377 ай бұрын
Great content and background music
@ssshukla262 жыл бұрын
Merge dictionaries.... Woahhhhh.... Oh my God... Thank you so much... That will make my life a bit easier....
@mostafasadeq31532 жыл бұрын
what a legend , ty very much man
@jmsl20273 жыл бұрын
This was very informative, thank you!
@Kinos1412 жыл бұрын
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у2 жыл бұрын
Yes, the keys must be unique, otherwise it will be replaced.
@victorsuarez43332 жыл бұрын
Thank you, this video was very helpful!
@TejasBangera4 жыл бұрын
Thank you, Subscribed to the channel
@patloeber4 жыл бұрын
Thanks!
@faithinverity85232 жыл бұрын
Superb [ ] of tips. Thank you!
@Manker00 Жыл бұрын
I don't quite understand why f strings are so praised. I would argue that the second print statement is both easier to read and write. print(f"Hello {name}") print("Hello", name)
@0LoneTech Жыл бұрын
This is true for the specific case where you want to print the default formatting of every field with the same separator. Even then the actual output format is more evident in the f-string. f-strings make string formatting (as in str.format) more convenient, by accessing your local scope and evaluating expressions. It is possible to capture print output using an io.StringIO. Also, print can produce partial output if one of its arguments fails to convert.
@tigranpapyan23487 ай бұрын
Actually, regarding the generator part, though it saves a lot of memory, it's way slower compared to lists
@akshitstenaa3 жыл бұрын
I am your fan now , thx a ton mate for all these tips.
@patloeber3 жыл бұрын
Awesome, thank you!
@akshitstenaa3 жыл бұрын
Please try adding videos on Scarpping, ML & analytics . 🙂
@enzopestana2 ай бұрын
really helpful, thanks a lot
@knowledgedaily11732 жыл бұрын
This is one of the best python related videos I have seen.
@patloeber2 жыл бұрын
thanks a lot!
@davidtalturejman9185 Жыл бұрын
Thanks man! Nice video!!
@mrsingh53512 жыл бұрын
super video! you could have included zip() function too
@MegaArti20002 жыл бұрын
About the last tip: you should probably use SET instead of LIST if there were too many elements. Performance issues...
@patloeber2 жыл бұрын
yes good point!
@_Amilio_3 жыл бұрын
Love these Python tips
@MasterEhsan3692 ай бұрын
THANKS that was useful...
@prashanthreddy19242 жыл бұрын
you made me a better programmer with this video. Please do more series of videos like this.
@patloeber2 жыл бұрын
glad to hear this!
@chuzhong12142 жыл бұрын
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 Жыл бұрын
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?
@mariovega62822 жыл бұрын
Most excellent video!
@krupaneshkrishnan92842 жыл бұрын
Great video, Thanks.
@nates33612 жыл бұрын
You are like my Python guru! Thank you Sir!
@patloeber2 жыл бұрын
glad you like it!
@saitejam3769 Жыл бұрын
Sir please post videos on nested loops and tips in nested loops
@castlecodersltd Жыл бұрын
Very useful, thanks ☺
@ajaysurya90752 жыл бұрын
Thanks for sharing this video 😊. But at last I can't understand that what was the final output after running the last code.
@vaggo96114 жыл бұрын
perfect video, good job Python Engineer
@patloeber4 жыл бұрын
Thanks so much!
@abdallahsalim47592 жыл бұрын
Thanks man, this was helpful
@zacky78623 жыл бұрын
Could you please tell how to safely count or check the if the generators items are empty?