1
0
mirror of https://github.com/satwikkansal/wtfpython synced 2024-11-22 11:04:25 +01:00

Add new snippet: Yielding None

Add new snippet: Yielding None
This commit is contained in:
Satwik Kansal 2017-10-11 17:49:08 +05:30 committed by GitHub
commit 31d438294f

42
README.md vendored
View File

@ -83,14 +83,16 @@ So, here ya go...
- [💡 Explanation:](#-explanation-18) - [💡 Explanation:](#-explanation-18)
- [Needle in a Haystack](#needle-in-a-haystack) - [Needle in a Haystack](#needle-in-a-haystack)
- [💡 Explanation:](#-explanation-19) - [💡 Explanation:](#-explanation-19)
- [The surprising comma](#the-surprising-comma) - [yielding None](#yielding-none)
- [💡 Explanation:](#-explanation-20) - [💡 Explanation:](#-explanation-20)
- [For what?](#for-what) - [The surprising comma](#the-surprising-comma)
- [💡 Explanation:](#-explanation-21) - [💡 Explanation:](#-explanation-21)
- [not knot!](#not-knot) - [For what?](#for-what)
- [💡 Explanation:](#-explanation-22) - [💡 Explanation:](#-explanation-22)
- [Let's see if you can guess this?](#lets-see-if-you-can-guess-this) - [not knot!](#not-knot)
- [💡 Explanation:](#-explanation-23) - [💡 Explanation:](#-explanation-23)
- [Let's see if you can guess this?](#lets-see-if-you-can-guess-this)
- [💡 Explanation:](#-explanation-24)
- [Minor Ones](#minor-ones) - [Minor Ones](#minor-ones)
- [TODO: Hell of an example!](#todo-hell-of-an-example) - [TODO: Hell of an example!](#todo-hell-of-an-example)
- [Contributing](#contributing) - [Contributing](#contributing)
@ -1491,6 +1493,38 @@ tuple()
--- ---
### yielding None
Suggested by @chris-rands in [this](https://github.com/satwikkansal/wtfpython/issues/32) issue.
```py
some_iterable = ('a', 'b')
def some_func(val):
return "something"
```
**Output:**
```py
>>> [x for x in some_iterable]
['a', 'b']
>>> [(yield x) for x in some_iterable]
<generator object <listcomp> at 0x7f70b0a4ad58>
>>> list([(yield x) for x in some_iterable])
['a', 'b']
>>> list((yield x) for x in some_iterable)
['a', None, 'b', None]
>>> list(some_func((yield x)) for x in some_iterable)
['a', 'something', 'b', 'something']
```
#### 💡 Explanation:
- Source and explanation can be found here: https://stackoverflow.com/questions/32139885/yield-in-list-comprehensions-and-generator-expressions
- Related bug report: http://bugs.python.org/issue10544
---
### The surprising comma ### The surprising comma
Suggested by @MostAwesomeDude in [this](https://github.com/satwikkansal/wtfPython/issues/1) issue. Suggested by @MostAwesomeDude in [this](https://github.com/satwikkansal/wtfPython/issues/1) issue.