Тізім хэштелетін Python ма?
Тізім хэштелетін Python ма?

Бейне: Тізім хэштелетін Python ма?

Бейне: Тізім хэштелетін Python ма?
Бейне: Python! Which Objects Can Be Set as Dictionary Keys? 2024, Мамыр
Anonim

Барлығы Python өзгермейтін кірістірілген нысандар болып табылады хэштелетін , өзгермейтін контейнерлер болмаған кезде (мысалы тізімдер немесе сөздіктер) болып табылады. Пайдаланушы анықтайтын сыныптардың даналары болып табылатын нысандар хэштелетін әдепкі бойынша; олардың барлығы тең емес салыстырады және хэш мәні олардың id() болып табылады.

Дәл солай, Python-да кортеждер хэштеледі ме?

10.1 Кортеждер өзгермейді. a ішінде сақталған мәндер кортеж кез келген түрі болуы мүмкін және олар бүтін сандармен индекстеледі. Маңызды айырмашылық мынада кортеждер өзгермейтін. Кортеждер салыстырмалы және хэштелетін сондықтан біз олардың тізімдерін сұрыптап, пайдалана аламыз кортеждер негізгі құндылықтар ретінде Python сөздіктер.

бір нәрсенің хэштелуі нені білдіреді? Объект болып табылады болатынын айтты хэштелетін егер ол бар өмір бойы өзгеріссіз қалатын хэш мәні. Объектілер болып табылады пайдаланушы анықтайтын сыныптардың даналары ластануы мүмкін әдепкі бойынша; олардың барлығы тең емес (өзінен басқа) және хэш мәнін салыстырады болып табылады theirid() арқылы алынған.

Осыны ескере отырып, Unhashable Python деген нені білдіреді?

Түрі қатесі: жарамсыз түрі: әдетте 'тізім' білдіреді тізімді хэш аргументі ретінде пайдалануға тырысып жатқаныңыз. Бұл білдіреді бұл сіз хэштеуге тырысқанда жарамсыз объектісі қатеге әкеледі. Мысалы. Бұл мәселені шешудің стандартты жолы тізімді кортежге шығару болып табылады.

Python-да тізімдер өзгермейді ме?

Барлығы ішінде Python объект болып табылады. Және әрбір жаңадан келген адам Python тез үйрену керек, бұл барлық объектілерде Python өзгермелі немесе болуы мүмкін өзгермейтін . Кірістірілген түрлердің объектілері (int, float, bool, str, tuple, unicode) болып табылады. өзгермейтін . Кірістірілген түрлердің объектілері ( тізім , жиын, дикт) өзгермелі.

Ұсынылған: