Mengapa daftar tidak memiliki metode "get" aman seperti kamus?
>>> d = {'a':'b'}
>>> d['a']
'b'
>>> d['c']
KeyError: 'c'
>>> d.get('c', 'fail')
'fail'
>>> l = [1]
>>> l[10]
IndexError: list index out of range
l[10:11]
alih-alih l[10]
, misalnya. () Sublist Th akan memiliki elemen yang diinginkan jika ada)
.get
. Itu akan menjadi setara dengan l[i] if i < len(l) else default
, tetapi lebih mudah dibaca, lebih ringkas, dan memungkinkan untuk i
menjadi ekspresi tanpa harus menghitung ulang
None
jika tidak ada. Akan lebih baik untuk mengatakannya x = expensive().get(0, None)
sehingga saya tidak perlu memasukkan pengembalian mahal yang tidak berguna ke dalam variabel sementara.