Ich bin etwas verwirrt über den Python- inOperator für Sets.
Wenn ich einen Satz habe sund einig Beispiel b, ist es wahr , dass b in sMittel „ ist es ein Element xin sso dass b == xisttrue “?
Ich bin etwas verwirrt über den Python- inOperator für Sets.
Wenn ich einen Satz habe sund einig Beispiel b, ist es wahr , dass b in sMittel „ ist es ein Element xin sso dass b == xisttrue “?
Antworten:
Ja, aber es auch Mittel hash(b) == hash(x), um die Gleichheit der Elemente nicht genug ist , ihnen das gleiche zu machen.
Das stimmt. Sie können es im Dolmetscher folgendermaßen versuchen:
>>> a_set = set(['a', 'b', 'c'])
>>> 'a' in a_set
True
>>>'d' in a_set
False
a = 'a'; b = 'a'; a is b). Ich habe es a = (1, 2, 3); b = (1, 2, 3); a == b; hash(a) == hash(b); a is b; a in set([b])stattdessen mit versucht .
Ja, das kann so sein, oder es kann ein einfacher Iterator sein. Zum Beispiel: Beispiel als Iterator:
a=set(['1','2','3'])
for x in a:
print ('This set contains the value ' + x)
Ähnlich wie bei einem Scheck:
a=set('ILovePython')
if 'I' in a:
print ('There is an "I" in here')
bearbeitet: bearbeitet, um Mengen anstelle von Listen und Zeichenfolgen einzuschließen
Obwohl es sich bei den Zeichenfolgen nicht um setTypen handelt, haben sie inwährend der Validierung in Skripten eine wertvolle Eigenschaft:
yn = input("Are you sure you want to do this? ")
if yn in "yes":
#accepts 'y' OR 'e' OR 's' OR 'ye' OR 'es' OR 'yes'
return True
return False
Ich hoffe, dies hilft Ihnen dabei, die Verwendung indieses Beispiels besser zu verstehen .
... or 'e' or 'es' or 's'. Löschen Sie einfach diese sinnlos falsche Antwort.
Sets verhalten sich anders als Diktate. Sie müssen Set-Operationen wie issubset () verwenden:
>>> k
{'ip': '123.123.123.123', 'pw': 'test1234', 'port': 1234, 'debug': True}
>>> set('ip,port,pw'.split(',')).issubset(set(k.keys()))
True
>>> set('ip,port,pw'.split(',')) in set(k.keys())
False