Python dictionary içerisindeki verilerin değişmeme sorunu

•
•
#verilerin tutulduğu dictionary
     self.accounts =  {
       "names" : ["tom" ] ,
       "passwords" : ["12345678" ] , #şifre verileri burada tutuluyor
       "card_numbers" : [ "1111 1111 1111 1111"],
       "create_date" : ["3"], 
       "budgets" : [0]
                                    }       

•
•
     self.name = input("Name: ")  
     self.name_index = self.accounts["names"].index(self.name)
•
•
     self.password_index = self.accounts["passwords"][self.name_index] #bu ifade ile kullanıcının şifresine ulaşılıyor
                                 
     

•
•
    
     def changing_password(self):
          print ("Changing Password")
          print("•"*50)
          
          print(f">>> Your current password: {self.password}")
          print("•"*50)
          change_pass = input("Enter your new password: ")
          
          while len(change_pass) < 8 or " " in change_pass:
                   print("--> Password must be least 8 character and mustn't contain any space. Try again.")
                   print ("-"*50)         
                   change_pass = input("Password: ")
                   

          print(self.accounts["passwords"][self.name_index].replace(str(self.accounts["passwords"][self.name_index]), change_pass))
        #replace ile kullanıcının şifresini güncellemeyi amaçlıyorum
          
          print(">>> New password successfuly saved." )
          sleep(2)
          print ("-"*50)         
          
          self.account_information_operation() 

Kullanıcının, dictionary içerisinde giriş yaparken girdiği şifresini değirtmesi için bir fonksiyon yazdım, ve self.accounts[“passwords”][self.name_index] ifadesi ile kullanıcının bu dictionary içersindeki şifresine ulaşıyorum.
Replace ile, daha önce var olan şifre yerine kullanıcının yeni şifresini ayarlamak istiyorum. Ancak replace kullanarak dictionary içersindeki eski şifreyi, yeni şifre (change_pass) ile değiştiremiyorum, bir türlü güncellenmiyor şifre. Fikri olan var mı soruna dair? Şimdiden teşekkürler.

Güncellenmeme durumu

Replace yeni degeri dondurur, orijinal degere dokunmaz. str'ler immutable zaten. self.accounts["passwords"][self.name_index] = ...

3 Beğeni

Tabi ya 🤦 sağol dostum