Python
 Computer >> コンピューター >  >> プログラミング >> Python

リスト内包表記とOrderedDictを使用したPythonのK番目の非反復文字


この記事では、リスト内包表記とOrderedDictを使用して、PythonでのK番目の非反復文字について学習します。そのために、Pythonで利用可能な組み込みの構造を利用します。

アルゴリズム

1. First, we form a dictionary data from the input.
2. Now we count the frequency of each character.
3. Now we extract the list of all keys whose value equals 1.
4. Finally, we return k-1 character.

from collections import OrderedDict
import itertools
def kthRepeating(inp,k):
   # returns a dictionary data
   dict=OrderedDict.fromkeys(inp,0)
      # frequency of each character
   for ch in inp:
      dict[ch]+=1
   # now extract list of all keys whose value is 1
   nonRepeatDict = [key for (key,value) in dict.items() if value==1]
   # returns (k-1)th character
   if len(nonRepeatDict) < k:
      return 'no ouput.'
   else:
      return nonRepeatDict[k-1]
# Driver function
if __name__ == "__main__":
   inp = "tutorialspoint"
   k = 3
   print (kthRepeating(inp, k))

出力

a

結論

この記事では、リスト内包表記とOrderedDictを使用して、PythonでK番目の非反復文字を見つけました。


  1. Pythonでのスタックおよびキューとしてのリストの使用

    この記事では、Python3.xのスタックとキューの構造について学習します。またはそれ以前。ここでは、これらのデータ構造内での動作と変更について説明します- これには-が含まれます 挿入操作(プッシュ、エンキュー) 削除操作(ポップ、デキュー) 表示/トラバース操作 前提条件 :リストとリスト操作 関連データ構造 :リスト操作 関連画像 スタック スタックでは、オブジェクトは互いに重ねて格納され、これらのオブジェクトは到着の逆の順序で削除されます。つまり、LIFOの概念に従います。 LIFOは、スタックデータ構造で後入れ先出しタイプの配置に従うことを意味します。 スタックで

  2. Pythonを使用してWindowsの隠しファイルとディレクトリを一覧表示するにはどうすればよいですか?

    Unix OS(OSX、Linuxなど)では、隠しファイルは「。」で始まります。したがって、単純なstartswithcheckを使用してそれらを除外できます。 Windowsでは、ファイル属性を確認してから、ファイルが非表示になっているかどうかを判断する必要があります。 例 たとえば、次のコードを使用して、隠しファイルのないリストを取得できます。 import os if os.name == 'nt':     import win32api, win32con def file_is_hidden(p):     if os.na