Saya belajar python, dan saya punya pertanyaan pemula tentang menginisialisasi set. Melalui pengujian, saya telah menemukan bahwa satu set dapat diinisialisasi seperti ini:
my_set = {'foo', 'bar', 'baz'}
Apakah ada kerugian melakukannya dengan cara ini, yang bertentangan dengan cara standar:
my_set = set(['foo', 'bar', 'baz'])
atau hanya soal gaya?
python
python-2.7
set
fvrghl.dll
sumber
sumber
Jawaban:
Ada dua masalah yang jelas dengan sintaks literal yang ditetapkan:
Ini tidak tersedia sebelum Python 2.7
Tidak ada cara untuk mengekspresikan himpunan kosong menggunakan sintaks itu (menggunakan
{}
membuat dict kosong)Itu mungkin penting atau tidak penting bagi Anda.
Bagian dari dokumen yang menguraikan sintaks ini ada di sini .
sumber
Bandingkan juga perbedaan antara
{}
danset()
dengan argumen satu kata.tapi keduanya
a
danb
tentu saja adalah set.sumber
set([])
daripada hanyaset()
.set()
selalu mengambil satu argumen. Satu iterable.Dari dokumentasi Python 3 ( berlaku sama untuk python 2.7 ):
dengan python 2.7:
Ketahuilah bahwa
{}
itu juga digunakan untukmap
/dict
:Anda juga dapat menggunakan sintaks komprehensif untuk menginisialisasi set:
sumber
Yang perlu Anda lakukan
empty_set = set()
untuk menginisialisasi set kosong.{}
adalah diksi kosong.sumber