Saya akan mengharapkan metode kunci Python mengembalikan satu set, bukan daftar. Karena ini sangat mirip dengan jenis jaminan yang akan diberikan oleh kunci dari hashmap. Secara khusus, mereka unik dan tidak diurutkan, seperti satu set. Namun, metode ini mengembalikan daftar:
>>> d = {}
>>> d.keys().__class__
<type 'list'>
Apakah ini hanya kesalahan dalam Python API atau adakah alasan lain yang saya lewatkan?
python
python-2.x
diri
sumber
sumber
Jawaban:
Salah satu alasannya adalah itu
dict.keys()
mendahului pengenalan set ke dalam bahasa.Perhatikan bahwa jenis kembalinya
dict.keys()
telah berubah di Python 3: fungsi sekarang mengembalikan sebuah "set-seperti" tampilan daripada daftar.sumber
set()
! yang memungkinkandict.keys() | set()
operasi. Batuan Py3 :)dict.viewkeys()
dan menggunakannya dengan operasi yang ditetapkan|
,&
...