get in dictionaries

Armin Moradpour
17 مرداد ۱۴۰۰

سلام استاد اون قسمت که نوشته get رو توضیح میدین که چرا 2تا txt اومده، ممنون

text = input("> ")
message = text.split(" ")

emojis = {
    ":D": "😊",
    ":(": "🤕",
    ":)": "😄"
}
x = ""
for txt in message:
    x += emojis.get(txt, txt)
print(x)
308

4 پاسخ
  • امیرحسین امیری17 مرداد ۱۴۰۰

    آرمین عزیز سلام

    سوال خوبی پرسیدی ببین txt اول که مشخصه چیه، اون درواقع کلیدی هست که تو دنبال مقدارشی.

    txt دوم چیه؟ txt دوم اختیاریه بذاری یا نذاری، واسه اینه که اگه تو کلیدی رو(txt  اول ) به متد get دادی و اون کلید توی دیکشنری وجود نداشت تو txt دوم رو به عنوان مقدار قرار بدی و برگردونی.

     

    مثال بزنم بهتر متوجه میشی فرض کن ما یه دیکشنری داریم به این شکل:

    user = {
    	"name": "armin",
    	"lastname": "mardanpor"
    }

    حالا میخوایم با متد get یچیزی از این دیکشنری استخراج کنیم، خب؟ مینویسیم:

    name = user.get("name")
    print(name)
    >> armin

    خب همه چیز عالیه ایول! 

    حالا اگه من یه کلیدی رو به متد get بدم که توی دیکشنری user نباشه چی میشه؟ مثلا age یا همون سن

    age = user.get("age")
    print(age)
    >> None

    میبینی None بر میگردونه! خب من میتونم به متد get به مقدار دیگه هم بدم که اگه اون کلید توی dictionary نبود اون مقداری که دادم رو برگردونه دیگه None بر نگردونه

    age = user.get("age", 30)
    print(age)
    >> 30

    امیدوارم متوجه شده باشی.

  • Armin Moradpour17 مرداد ۱۴۰۰

    اها پس تو کدی که من نوشتم txt هم میتونه اون ایموجی ها باشه، هم اینکه اگه اون مقدار تو دیکشنری نباشه input منو تحویل بده، ایشالا که درست فهمیده باشم D:

  • امیرحسین امیری17 مرداد ۱۴۰۰

    دقیقا زدی تو خال

  • Armin Moradpour17 مرداد ۱۴۰۰

    دمت گرم، یه دونه ای :)