if I typed
a = [1,2,3,4]
b = a
print(a is b) # it will print true
but if i typed
a = [1,2,3,4]
b = list(a)
print(a is b) # it will print False
i can understand this because when i used list it actually returned another list and assigned it to b so both a and b are different lists now with different places in meomery
but when i use same same concept with strings its different
a = 'kha'
b = 'kha'
print( a is b) #it prints true
so why this happens both are supposed to be different variables with different values why same concept with lists doesn't work with strings arent string a and b both have different places in meomery they both both have same values but they different things