Spot the bug in this Python code (2023)
dwrodri.gitlab.io
dwrodri.gitlab.io
A more proper solution could be to chain the generator expressions: with
lines = ["a,b", "c,d"]
you could do ((a,b) for a, b in (l.split(',') for l in lines))However, the approach in my code generates less bytecode and performed slightly faster, as the chained generator expressions add more overhead. See here: https://godbolt.org/z/nT8a5eMGa
I agree that your approach requires less usage of (what I'd consider) unintuitive syntax, so I should probably add it as an alternative viable solution!
Since if performance is so critical as to worry over something like this, we'd probably both agree that you should probably be wary of choosing Python in the first place.
Well, I'm not a Python guy, but I saw something that would have been a bug. As numbers, the line above's variables would evaluate to
0x00800513 0x0000 0x8
In a language like C, in a compilation, that 'x10' would throw up a 'variable not declared' error. As data, it would most likely evaluate as above to zero (depending on the data-handling code).