私はこのコードを解読して理解できますか?Pythonコードを分解したり、シンプルにする必要がありました
print hash(tuple([int(i) for i in raw_input().split()]))
これを複数の行でどのように行うことができますか。
私はこのコードを解読して理解できますか?Pythonコードを分解したり、シンプルにする必要がありました
print hash(tuple([int(i) for i in raw_input().split()]))
これを複数の行でどのように行うことができますか。
なぜあなたはそれを最初からやっていますか?リスト内包が行く方法です。 は、とにかくここにあなたがそれを行うことができます方法は次のとおりです。
内側から始まっ
temp = []
for i in raw_input().split():
temp.append(int(i))
print hash(tuple(temp))
を(私はコメント欄でのコードスニペットをフォーマットすることができなかったので、答えとして投稿):
raw_input().split()
はtake user input、それを文字列として返し、空白文字でsplitをリストに返します。したがって、ユーザが'1 2 3'
と入力すると、['1', '2', '3']
となります。
[int(i) for i in raw_input().split()]
は、文字のリストを取り、そしてintegerとして表される各文字を使用して新しいリストを作るlist comprehensionです。したがって、前の例のユーザー入力では、このリストの理解は[1, 2, 3]
を返します。
tuple(...)
return a tupleリストの理解のすべての要素で、(1, 2, 3)
となります。
最後にhash()
はオブジェクトのhash valueを返します。ここで
あなたは複数行の上にこれを広げることができ、一方向(インタラクティブIPythonインタプリタで行われます。最後の数行はhash()
は関係なく、あなたが一つに全力を尽くすかどうか、同じであることを示して
In [1]: inp = raw_input('Enter your values')
Enter your values1 2 3
In [2]: inp
Out[2]: '1 2 3'
In [3]: vals = [int(i) for i in inp.split()]
In [4]: vals
Out[4]: [1, 2, 3]
In [5]: input_hash = hash(tuple(vals))
In [6]: input_hash
Out[6]: 2528502973977326415
In [7]: hash(tuple([int(i) for i in raw_input().split()])) == input_hash
1 2 3
Out[7]: True
行、または複数行にわたり。
ここでは、このコード
a = raw_input().split() ## Taking a string of nums as input
b = []
for i in a:
b.append(int(i))
b = tuple(b)
print hash(b)
の簡易版であります