Junior
Чӣ гуна пайвандҳо дар Python муқоиса мешаванд?
sobes.tech AI
Ҷавоб аз AI
Дарсҳои пайдарпай дар Python (стрингҳо, рӯйхатҳо, tuple-ҳо) аз рӯи унсур, аз аввал оғоз мешаванд.
Алгоритми муқоиса:
- Аввалин унсурҳои ҳар ду пайдарпай муқоиса мешаванд.
- Агар унсурҳо баробар бошанд, унсурҳои дуввум муқоиса мешаванд.
- Ин раванд то пайдо шудани унсурҳои фарқкунанда ё то тамом шудани яке аз пайдарпайҳо идома меёбад.
Натиҷаи муқоиса аз аввалин ҷуфти унсурҳои фарқкунанда муайян карда мешавад:
- Агар унсури пайдарпайи аввал "камтар" аз унсури дуввум бошад, пайдарпайи аввал хурдтар ҳисобида мешавад.
- Агар унсури пайдарпайи аввал "больштар" бошад, пайдарпайи аввал калонтар ҳисобида мешавад.
Агар ҳама унсурҳо мувофиқ бошанд ва яке аз пайдарпайҳо пешгуфтории дигар бошад, он пайдарпайи дарозтар калонтар ҳисобида мешавад. Агар ҳар ду пайдарпай дарозии баробар дошта бошанд ва ҳама унсурҳо мувофиқ бошанд, онҳо баробар ҳисобида мешаванд.
Типҳои унсурҳо бояд қобили муқоиса бошанд. Стрингҳо лексикографӣ (аз алфавит) муқоиса мешаванд. С numbers муқоиса мешаванд ба арзиш.
Масалан:
# Муқоиса кардани стрингҳо
print("apple" < "banana") # Дуруст, 'a' < 'b'
print("cat" == "cat") # Дуруст
print("dog" > "cat") # Дуруст, 'd' > 'c'
# Муқоиса кардани рӯйхатҳо
print([1, 2, 3] < [1, 2, 4]) # Дуруст, 3 < 4
print([1, 2, 3] == [1, 2, 3]) # Дуруст
print([1, 2, 3] > [1, 2]) # Дуруст, аввал дарозтар
# Муқоиса кардани tuple-ҳо
print((1, 2) < (1, 3)) # Дуруст, 2 < 3
print((1, 2) == (1, 2)) # Дуруст
print((1, 2, 3) > (1, 2)) # Дуруст, аввал дарозтар
# Типҳо бояд қобили муқоиса бошанд
# print([1] < "a") # Хатогӣ TypeError
Операторҳои муқоиса:
<(камтар)>(бештар)<=(камтар ё баробар)>=(бештар ё баробар)==(баробар)!=(фарқ)