0

次のデータを使用して、辞書項目の 1 つをランダムに選択し、xtest と yblob の両方を取得するにはどうすればよいですか?

{"xtest": "yblob", "xtest1": "yblob1", "xtest2": "yblob2", "xtest3": "yblob3", "xtest4": "yblob4", "None": "None"}

いくつかのプロキシと組み合わせて使用​​したいので、理想的には次のようなものが必要です:

.ProxyHandler({"http":"{x}:{y}"})

これは、上部の辞書から選択されたランダムな選択に基づいて自動的に入力されますが、辞書項目が見つかった場合"None": "None"はプロキシを使用しないため、実際には2つの変数が必要です:

x = xdict
y = ydict

誰でも指針やアイデアを得ることができます。

よろしく、AEA

4

2 に答える 2

2

次のコード スニペットは、探しているものを実現する必要があります。

import random
d = {"xtest": "yblob", "xtest1": "yblob1", "xtest2": "yblob2", "xtest3": "yblob3", "xtest4": "yblob4", "None": "None"}

#choose a random x
x = random.choice(d.keys())
if x == "None":
    proxy = None
else:
   y = d[x]
   proxy = {"http": "%s:%s" % (x, y)}
于 2013-08-23T14:03:00.037 に答える
2

ここでは、randint を使用して、アイテムの元の辞書から dd という名前の要素の 1 つを選択しています。

>>> import random
>>> dd = {"xtest": "yblob", "xtest1": "yblob1", "xtest2": "yblob2", "xtest3": "yblob3", "xtest4": "yblob4", "None": "None"}
>>> k = dd.keys()[random.randint(0, len(dd))]
>>> v = dd[k]
>>> k, v
('xtest3', 'yblob3')
于 2013-08-23T13:55:02.413 に答える