2
A
答えて
2
lst
は、通常のPythonのリストであり、かつnumpyの配列、パンダのデータフレーム、またはいくつかのカスタムクラスはスライスのインデックス作成をサポートしていないと仮定するとitertools.islice
がないのに対し、その後、スライス[...:...]
は、新しいリストを作成します。
コメントで示唆したように、あなたはそれらを消費する前に、両方のenumerate
オブジェクトを作成し、元のリストを変更することで、自分自身のためにこれを見ることができます:
>>> lst = [1, 2, 3, 4, 5]
>>> e1 = enumerate(lst[1:4])
>>> e2 = enumerate(itertools.islice(lst, 1, 4))
>>> del lst[2] # remove second element
>>> list(e1)
[(0, 2), (1, 3), (2, 4)] # shows content of original list
>>> list(e2)
[(0, 2), (1, 4), (2, 5)] # second element skipped
はまた、これは事実enumerate
とは何の関係もないではないことに注意してください、どちらの場合でもジェネレータが作成されます(スライスによって以前に作成されたiterableの上に)。
また、単にスライスの二つの変種を作成し、その型をチェックすることができ:
>>> type(lst[1:4])
list # a new list
>>> type(itertools.islice(lst, 1, 4))
itertools.islice # some sort of generator
関連する問題
- 1. Heredoc <<<または<<?
- 2. in C、*、=、++、<< |オペレータ
- 3. 私は図書館へ</p> <pre><code>libs = c("AER", "gbm", "caret", "MASS", "nnet", "randomForest") for (i in libs) { if(!is.element(i, .packages()) { install.packages(i) } library(i) } </code></pre> <p>コール(I)の効果に何かを達成したいのですが、引数
- 4. for(int i = 0; i <10; ++ i)とfor(int i = 0; i <10; i ++)は同じものを返しますか?
- 5. Gitは<<<<<<< HEADをファイルに追加し続けます
- 6. 私は、次のコード</p> <pre><code>for (i in 1:length(names)) { a[i]<-filter(global,global$people_names==names[i]) %>% select(Class) } </code></pre> <p><code>names</code>を使用してリストを作成するためにループを使用してい
- 7. 関数の引数:それは不可能です</p> <pre><code>void foo(vector<Clazz*>& v) { ... v[0]->method(); ... } void foo(vector<Clazz>& v) { ... v[0].method(); ... } </code></pre> <p>/:ベクトル<Clazz*>&ベクトル<Clazz>&
- 8. ?</p> <pre><code>for (var i in window.navigator) { document.getElementById('divResult').innerHTML += i + ': ' + window.navigator[i] + '<br />'; } </script> </code></pre> <p>先生(オンライン)私は、これは大きな謎である私にとって最大10</p> <p>に結果を制限したい:
- 9. オンライン完全</p> <pre><code>for($i=0; $i<$colCount;$i++){ $keys = array_keys($cols)[$i]; $values = array_values($cols[$i]); $stmt->bindValue(":".$keys, $values); } </code></pre> <p>を作業している</p> <p>は、私はPHPのコードの下に持っている...ローカルホストでの作業&
- 10. アサーション失敗<0 <= i && i < <int> vv.size <>>未知関数、ファイルsrc \ matrix.cpp、行912
- 11. インターフェース:I <String>とI <String>
- 12. Swift <<, ><, <=< and > = <
- 13. std :: vector <std :: pair <const K, V> *> to std :: vector <std :: pair <const K, V>>
- 14. 私はこのコード</p> <pre><code>#define pii pair<int, int> #define pip pair<int, pii> ... vector<pip> graph; graph[i] = pip(c, pii(u,v)); </code></pre> <p>に遭遇しました
- 15. リストを分割して<Product>をサブリスト<Product>
- 16. なぜこのエラーが発生しますか?nomatch for 'operator <<' in C++?
- 17. VBAは<i> "text"</i>に相当しますか?
- 18. 私は機能</p> <pre><code>void make_zero(int matrix[][],int row,int col) { int row, col; int i,j; for(i=0;i<row;i++) { for(j=0;j<col;j++) { if(matrix[i][j]==0){ printf("%d %d\n", i, j); } } } </code></pre> <p>を使用してみました
- 19. ObservableCollectionをソートするにはどうすればいいですか?</p> <pre><code>Persons = from i in Persons orderby i.Age select i; </code></pre> <p>しかし、私は<code>ObservableCollection<Person></code>にLinqs <code>System.Linq.IOrderedEnumerable</code>変換カント:
- 20. がどのように要素を削除して、今、私はこのHTMLを解析したい私はこの</p> <pre><code>Hello<i class="emoji emoji_smile" title=":smile:"></i><i class="emoji emoji_angry" title=":angry:"></i>World </code></pre> <p>のようなHTMLスニペットを持って
- 21. センター<img /> +</p> <p><a /> inside table and overflow auto in IE7
- 22. $(e.target)は<i></i>であり、含まれていません。<div>...</div>
- 23. 私は以下のように必要な出力をしたい、次の入力</p> <pre><code>I/O 1< img > '< input > I/O 1<' img > '< input > </code></pre> <p>ためのPython
- 24. は、私は基本的なルビーループIが2または3回このループを実行したい</p> <pre><code>for video in site.posts video.some_parameter endfor </code></pre> <p>を持って
- 25. 「<%:」は何をしますか?</p> <pre><code><%: Model.FirstName %> </code></pre> <p>「<%:」何をん:行う
- 26. SQL:これは私の文</p> <pre><code>select * from table1 where col1 not in (select col2 from table2); </code></pre> <p>ある
- 27. Tortoise svn <<<<をファイルに追加しています!
- 28. <<<
- 29. Firebaseの「クラッシュレポート」はクラッシュ時に自動的にレポートされますか?</p> <pre><code>String x = i; </code></pre> <p>と<code>i</code>がnullで、その後、私は<code>NullPointerException</code>を得る:
- 30. デザイン<a href>, <button>, <input> in JSP
まずはい、二なし。 –
実験をやってみませんか?反復処理するスライスを変更します。これは元のオブジェクトを変更しますか? –
@JohnColeman 2番目のバージョンでどうしたらいいですか? –