私はリスト内のすべてのアイテムに適用したいジェネレータ関数を持っています。だから私は、私は「力」それはmap(list(foo),var_list)
を使用して計算するためにするつもりですが、Pythonはそれはちょうどナンセンスだ私に語ったと思っていジェネレータをリストにマッピングする
[<generator object window at 0x7f20720b1050>, <generator object window at 0x7f20720b10a0>, <generator object window at 0x7f20720b10f0>, <generator object window at 0x7f20720b1140>, <generator object window at 0x7f20720b1190>]
: map(foo,var_list)
を行う は、私のような結果を取得します。
私はリスト内包でやりたいことができますが、私は地図でそれを行う方法について頭を上げることはできません。
のコード例では、
from itertools import islice
def window(seq, n=4):
if len(seq)<n:
yield seq
"Returns a sliding window (of width n) over data from the iterable"
" s -> (s0,s1,...s[n-1]), (s1,s2,...,sn), ... "
it = iter(seq)
result = tuple(islice(it, n))
if len(result) == n:
yield result
for elem in it:
result = result[1:] + (elem,)
yield result
result = []
input = 'Hello my name is Steven'
ですそして、私の失敗したコマンドを使用すると、lambda
を使用することができます。この場合map(window,input.split())
my_listの項目に対して 'map(list、map(foo、my_list))'や '[list(foo(item))'を ' – AChampion