アルファベットと数字のユニークな大文字と小文字の12文字の文字列を生成するPythonアルゴリズムを作成するにはどうすればよいですか?ランダムな長さは大文字と小文字のアルファベットと数字で構成された12文字列です
私の状況では、と思われるユニークなセッション/キー識別子として使用されます。は、500K世代を超えるユニークである必要があります。例えば
:
837uNNM9abCb
9HFRHcop24Cd
ありがとう!
アルファベットと数字のユニークな大文字と小文字の12文字の文字列を生成するPythonアルゴリズムを作成するにはどうすればよいですか?ランダムな長さは大文字と小文字のアルファベットと数字で構成された12文字列です
私の状況では、と思われるユニークなセッション/キー識別子として使用されます。は、500K世代を超えるユニークである必要があります。例えば
:
837uNNM9abCb
9HFRHcop24Cd
ありがとう!
これはwhileループとPythonのrandom
とstring
ライブラリを使用すると簡単に実現できます。
コード:
import random
import string
def create():
_string, counter = "", 0
while counter < 12:
choice = random.choice(string.ascii_letters + string.digits)
if choice not in _string:
_string += choice
counter += 1
else:
pass
return _string
print(create())
出力:
YWdTocQs0R4X
それはやっているもの:
_string
とcounter
。counter < 12
が偽になった後壊れるwhileループを開始する。(私は後で説明しますことをここfor
ループ上while
ループを使用する理由があります)for
ループオーバーwhile
ループを使用する理由注:。!あなたはWITHIN重複して[OK]をしている場合文字列このワンライナーがはるかに効率的に動作します。
print(''.join(random.choice(string.letters + string.digits) for _ in range(12)))
大文字のみです。 文字列の例は、大文字と小文字のアルファベットと数字で構成されています。 – user3789802
@ user3789802修正済み! – Signal
私はそれを得て、ありがとう。 – user3789802
あなたがこれを書いて自分を止める何? –
は[UUID]のための仕事のような音(https://docs.python.org/3.5/library/uuid.html )、何を試しましたか? – ChrisP
@MitchWheat私はすでにそれをコーディングしようとしていますが、500K +世代では重複しています。 – user3789802