ホームページ  >  記事  >  バックエンド開発  >  Python シーケンスを循環シフトする 3 つの方法

Python シーケンスを循環シフトする 3 つの方法

不言
不言オリジナル
2018-04-09 15:03:134630ブラウズ

以下は Python シーケンスの循環シフトの 3 つの方法を推奨するものであり、参考になると思います。

最初の方法: 特徴は、直接的でわかりやすいことです。欠点は、遅く、循環左シフトしか実現できないことです。

def demo(lst, k):
  temp = lst[:]
  for i in range(k):
    temp.append(temp.pop(0))
  return temp

2 番目の方法: は、高速で適応的な循環左シフト (k>0) と右シフト (k

def demo(lst, k):
  x = lst[:k]
  x.reverse()
  y = lst[k:]
  y.reverse()
  r = x+y
  return list(reversed(r))

最もPython的な究極の方法: スライスを使用します。これはシンプルで理解しやすく、最も速く、循環左シフト(k>0)と右シフト(k

def demo(lst, k):
  return lst[k:] + lst[:k]

関連する推奨事項:

Pythonで任意の範囲および任意の精度で乱数を生成する方法

selectを使用してソケット全二重非同期通信機能を実装するPythonネットワークプログラミング

以上がPython シーケンスを循環シフトする 3 つの方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。