これは私にしばらくの間、いくつかの問題を与えてきた、多分私はトンネルビジョンを持っている。整数のリストがあれば、隣接する重複のすべてのグループがタプルに変換された新しいリストを生成します。例えばリストの理解を使用して、タプルとitertools.groupby
、リストを与えられた:[1, 2, 3, 3, 4, 5, 5, 5, 6]
生成されたリストには含まれています:[1, 2, (3, 3), 4, (5, 5, 5), 6]
私は、この使用してリストの内包を実現したいと思います。
numbers = [1, 2, 3, 3, 4, 5, 5, 5, 6]
it = itertools.groupby(numbers)
numbers = [tuple(group) if len(tuple(group)) > 1 else key for key, group in it]
結果、私は期待してい:
[1, 2, (3, 3), 4, (5, 5, 5), 6]
結果、私は取得しています:
[1, 2,(), 4,(), 6]
挿入タプルは明らかに、空になっている - でなく、彼らが最初に挿入されるためにそれらの中に複数の要素を持っていなければならなかったので、彼らは同じではありません。どうしたの?私はPythonには新しく、すべてのキーワードを使い果たした後も、私はまだオンラインで同様の質問を見つけることができませんでした。私はそれが単純なものだと確信しており、私はそれを見ることができません。どんな助けもありがとうございます。
Tamasさんありがとう!私はあなたの答えをあなたが説明をしたので私の問題を解決したものとして受け入れました。 –