パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

Pythonでこういう書き方はしていいんだっけ?」記事へのコメント

  • [:]でコピー作らないと駄目よー
    詳しくはリファレンス参照:2.6 [python.org] 3だけど日本語化されてる。中身は同じ [python.org]

    --
    私を信じないで、貴方を裏切ってしまうから。
    • shallow copyをなめるループを回しながらオリジナルを削除すればよいということですかね。

      for i, e in enumerate(l[:]):
          if e.startswith("f"):
              del l[i]

      • その場合リストの"i個目"がオリジナルとズレるので「del l[i]」がバグります。
        eがユニークで有る事を保証できるならeをキーにremoveするのが手っ取り早いです。(#3899890 [srad.jp])
        i個目に重要な意味が有る/データ数が多い等でdelを使うなら、末尾からループさせるか、iに削除した分のマイナス補正して下さい。(del l[i-削除済数]とか)
        もしくは、forループを諦めてwhileにし、削除時はiをカウントアップしないようなアルゴリズムにして下さい。

        どれを選ぶかは、お好みで。

        --
        私を信じないで、貴方を裏切ってしまうから。

弘法筆を選ばず、アレゲはキーボードを選ぶ -- アレゲ研究家

処理中...