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
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"}
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 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.
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
@@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.
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.
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
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}
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
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.
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!
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. 😐
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()
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.
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.
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()
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.
@@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.
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.
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
I hope you find these tips helpful! Let me know if you have any other Python tips that improve your code :)
Helpful but too many ads cut...
Can you iterate from say idx 2 to n-4 of a list using enumerate without slicing or any extra lines of code...
@@sudhanshuranjan9 ya membership test is faster in set
remarkable!
Thank you!! Cheers from Chile!
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
I like this as it stays true to Pipe symbol
you rock
And
print(merged_dict == d1 | d2)
will print out true
This syntax is way simpler.
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"}
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
Thanks for the summary :)
@@patloeber you made this in 11 min, I see what u did there
@@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.
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.
I almost don't know any python, but I was able to comprehend 80% of the content. Amazing simple explanation. Thanks.
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!
I love how you explain with simplicity. Great content.
Thank you! Glad you like it!
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
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.
To convert list into set you need to execute O(n) operation.
@@sshishov my point is you shouldn't even create a list in the first place. You should create a set to begin with
Agree, but sometimes lists are needed if you want to keep duplicates or you want to keep items in inserted order.
@@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.
@@andraspongracz5996 agree 👍
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.
Great to hear!
Nr.3 you can also do:
from operator import itemgetter
sorted_data = sorted(data, key=itemgetter('age'))
Yes thanks for the tip :)
i like this
Simply wonderful! Subscribed in the first 2 minutes! Python is the greatest modern language, and these tips are gold!
Thank you so much!
Great video. Please make more of these quick tips for comparisons of "beginner" python code vs experienced developer idioms
Thanks :)
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.
Great collection of useful tips, presented very clearly and concisely. Thanks!!
Thanks a lot! The first minute already helps a lot.
Clear tips, like how you explain them, are simple and clear!
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
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}
yep great tip!
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
@@vishnuuvardhanreddy3010 RUclips and reddit are your best friends to learn anything
Not worked on all versions of python, just new.
What about dict update method?
I'm a beginner -ish and knew about half to 2/3rd, but also learned a few good tricks :)
Thanks
Nice tips. It speedup my code writing. Thanks, man.
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.
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!
Thank you for the video. I am grateful for your time and contribution. Kind regards, Akira.
Nice tips, I'll save the video for later. Thanks!
I am so glad I found this channel.
First example: return [max(i, 0) for i in data]
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. 😐
thank you for the feedback! I try to improve this on my newer videos
Thank you. 😊🙏
Thanks for these tips! It's hard finding content outside beginner courses.
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()
What do you think? Do you have more?
Some interesting tips, I'm just going through a reformat of a new script and this should help tidy and speed some operations.
THANKS that was useful...
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.
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.
Hey, Excellent videos. The style is amazing! and more informative!. I am following you.
Great, thank you!
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.
amazing tips, very very valuable. thank you for sharing.
Another great video. Thanks for the amazing content.
Glad you like it :)
I am your fan now , thx a ton mate for all these tips.
Awesome, thank you!
Please try adding videos on Scarpping, ML & analytics . 🙂
Superb [ ] of tips. Thank you!
only one word: amazing...
thanks!
Really admire your work! Nice work mate
Thank you!
Nice video! I really like that you made those slides in between the tips (gonna steal that for my future videos 😁)
Thank you! Glad you like it
This is one of the best python related videos I have seen.
thanks a lot!
Generators tip was quite a nice trick to know! So easy to be confounded with list generator.
yep it's very handy sometimes :)
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]
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()
Very helpful in refactoring my brain to be more pythonic!
one of the best python videos.
Really useful
Hello, Thanks for those great tips !! Does someone knows which IDE he is using ?
Looks like visual studio code.
Wonderful tips. Every single one is pretty useful.
Thanks for the tips, always great to listen to fellow Python devs!
Valuable tips! Thank you very much!
Excellent information,Thanks
literally watched for 1:03 seconds and i love the video. I'm a beginner btw. SUBBED!
bro this was super helpful. thanks for this.
Thank you, this video was very helpful!
you made me a better programmer with this video. Please do more series of videos like this.
glad to hear this!
Very useful tips and tricks!
Thank You
glad it's helpful :)
Very useful information explained in a very easy-to-understand way. Thank you for the effort.
glad it was helpul!
Awesome tips, thank you!
Glad it's helpful!
Still very relevant content, thanks for having this.
thanks for the useful sharing!!!
glad you like it!
For #1, I would prefer a list comprehension: data = [0 if e < 0 else e for e in data]
very helpful
You are like my Python guru! Thank you Sir!
glad you like it!
Congratulations for this piece of art!!!!
This kind of teach methodology is extremely rare.
Thank you!
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.
You're not doing it "for the sake of it," you're making it to make your code readable to others in your team.
@@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.
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.
very helpful. thank you!
This is a very good video. Thank you very much , keep up the good work .
thank you so much. keep it up you're the best.
thank you!
Best python channel in YT
Thank you :)
Thanks man, this was helpful
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
It's the night owl theme. Have a look at my tutorial about my VS Code setup :)
Love these Python tips
This is great. I'm always looking on better coding style.
Could you tell which vs code theme that you are using? Thanks
Yes, I think it's the Night Owl theme
Wonderful. Thank you!
You are Superman:) Thanks for all of sharing.
Excellent video, very precise and nicely done!
This is one of those channels that separate my life into pre- and post-subscription eras!
this comment made my day :) glad you're here!
really helpful, thanks a lot
Great content and background music
Thank you, Subscribed to the channel
Thanks!
Thank you very much! Keep up with the good work!
Thanks, will do!
Dude this is great, thanks!
happy to hear this :)
combine one and two : print ([0 if value
what a legend , ty very much man
perfect video, good job Python Engineer
Thanks so much!
super video!
you could have included zip() function too
Thanks man! Nice video!!
This is very useful for me python beginner. Thank you very much sir.
Glad to hear that
Thank you. Mind actually blown.
Thanks for sharing this video 😊.
But at last I can't understand that what was the final output after running the last code.
Dunno why did I find you this late ?
Please add more tips on version 3.9 too.
Thanks.
Thanks 😊 ok
Merge dictionaries.... Woahhhhh.... Oh my God... Thank you so much... That will make my life a bit easier....
Please make complete playlist like these tips of python
Very nice and useful tips
Great video, Thanks.
This was very informative, thank you!
I wish I knew the get method for dicts sooner. I've been checking for the key first this whole time 😐
Very useful, thanks ☺
Thanks, it would help!