0

私はまだ学習中の言語であるpythonを使用して、一連のWeb APIをテストしています。文字列、ディーラーの名前を取り込んで、ランダムな数の文字の後に末尾を切り落としています。次に、文字列の最後に文字 (ワイルドカード) を追加します。その変更された文字列は、ディーラーの名前を検索する API に渡され、ワイルド カードを含めることができます。以下のコードがありますが、長いようです。この問題にアプローチするための、よりクリーンな方法、またはよりPythonicな方法はありますか? 文字列からリストに、文字列に戻すことなくこれを行う方法はありますか?

split_name = list(name)     #turns name string into list
rand = random.randint(6,(len(split_name)-1))    #generates random number
split_name[rand:len(split_name)] = []       #breaks of end part of name list
srch_name = ''.join(split_name)     #stringifies list
#Send request
rqst = requests.get(name_srch %(key, (srch_name + '*'))) #this adds * and sends the request

名前はスクリプトで以前に定義されている文字列です。たとえば、「Dave and Bills equipment sales and service, INC」などです。Python 2.7 を使用していることに注意してください。

4

1 に答える 1

2

はい、スライシングを使用して文字列からランダムな数の文字を選択します。最初にリストに分割する必要はありません。

rand = random.randint(6, len(split_name) - 1)
search_name = name[rand:] + '*'
rqst = requests.get(name_srch % (key, search_name))

文字列もシーケンスであり、最初にリストに変換する必要なく直接スライスをサポートします。エンドポイントを省略できます。その場合、スライスはデフォルトで文字列の末尾になります。

于 2013-07-24T20:56:43.547 に答える