Apakah Anda seorang ahli matematika? Menggambarkan hal-hal sederhana dengan cara yang terlalu rumit ..;)
ThiefMaster
13
Ilmuwan komputer. Saya hanya sedikit bingung karena dokumentasi mengatakan "Tes x untuk keanggotaan dalam s." Bagi saya itu bisa berarti "instance x terkandung dalam s" atau "beberapa instance ada di s yang memiliki nilai yang sama dengan x". Saya tidak tahu apakah ini perbandingan identitas atau kesetaraan.
Dejas
6
@Dejas: Karena Anda mengetahui bahwa Python memiliki dua operator, yakni perbandingan kesetaraan dan perbandingan identitas, Anda harus dapat membuat percobaan yang mengonfirmasi masing-masing. Ini akan membantu jika Anda memposting percobaan itu.
S.Lott
Jawaban:
101
Ya, tapi itu juga berarti hash(b) == hash(x), jadi kesetaraan barang tidak cukup untuk membuatnya sama.
Ini bukan tes yang sangat baik karena konstanta string sering diinternir (coba a = 'a'; b = 'a'; a is b). Saya mencobanya dengan a = (1, 2, 3); b = (1, 2, 3); a == b; hash(a) == hash(b); a is b; a in set([b])gantinya.
Philipp
11
Ya itu bisa berarti begitu, atau itu bisa menjadi iterator sederhana. Sebagai contoh: Contoh sebagai iterator:
a=set(['1','2','3'])for x in a:print('This set contains the value '+ x)
Demikian pula sebagai cek:
a=set('ILovePython')if'I'in a:print('There is an "I" in here')
diedit: diedit untuk memasukkan set daripada daftar dan string
Jawaban:
Ya, tapi itu juga berarti
hash(b) == hash(x)
, jadi kesetaraan barang tidak cukup untuk membuatnya sama.sumber
Betul sekali. Anda bisa mencobanya di interpreter seperti ini:
sumber
a = 'a'; b = 'a'; a is b
). Saya mencobanya dengana = (1, 2, 3); b = (1, 2, 3); a == b; hash(a) == hash(b); a is b; a in set([b])
gantinya.Ya itu bisa berarti begitu, atau itu bisa menjadi iterator sederhana. Sebagai contoh: Contoh sebagai iterator:
Demikian pula sebagai cek:
diedit: diedit untuk memasukkan set daripada daftar dan string
sumber
String, meskipun bukan
set
tipe, memilikiin
properti yang berharga selama validasi dalam skrip:Saya harap ini membantu Anda lebih memahami penggunaan
in
dengan contoh ini.sumber
... or 'e' or 'es' or 's'
. Pertimbangkan untuk menghapus jawaban yang salah dan tanpa tujuan ini.Set berperilaku berbeda dari yang lain, Anda perlu menggunakan operasi set seperti issubset ():
sumber