โจทย์: Comprehension#

ข้อ 1: List comprehension 1#

จงเปลี่ยนลิสต์ของชื่อให้เป็นลิสต์ที่มีแต่ชื่อภาษาอังกฤษ และชื่อภาษาอังกฤษจะต้องถูกเปลี่ยนเป็นชื่อที่ขึ้นต้นด้วยตัวใหญ่ที่เหลือตัวเล็กทั้งหมด ให้เขียนสองแบบ

  • แบบแรกให้เขียนโดยใช้ for loop ธรรมดา

  • แบบที่สองให้เขียนโดยใช้ list comprehension

names = ['aaron', 'leigH', 'เต้', 'jOHN']
# For loop
names = ['aaron', 'leigH', 'เต้', 'jOHN']
# List comprehension

ข้อ 2: List comprehension 2#

Given a list of English words, use list comprehension to create a list of words that are all capitalized. You must also exclude words that are shorter than two characters.

tokens = ['Fruit', 'flies', 'do', 'like', 'bananas', '.']

ข้อ 3: List comprehension 3#

เขียน List comprehension

  • input เป็นลิสต์ของคำ (strings) เช่น ['monKey', 'roach', 'Eve', 'oo', 'Jim']

  • output ลิสต์ของคำทั้งหมดแต่ว่าให้เอาสระออกให้หมด เช่น ['mnKy', 'rch', 'v', '', 'Jm']

word_list = ['monKey', 'roach', 'Eve', 'oo', 'Jim']

ข้อ 4: Dictionary comprehension 1#

Given a list words, create a dictionary whose keys are a word and values are the length of the word.

tokens = ['Fruit', 'flies', 'like', 'bananas', '.']

ข้อ 5: Dictionary comprehension 2#

Given two lists of words that are translations of each other, create a dictionary whose key is an English and whose value is the French translation of that word. And keep only English words that are longer than 3 characters.

english_words = ['chair', 'pen', 'eraser', 'computer']
french_words = ['chaise', 'stylo', 'gomme', 'ordinateur']

ข้อ 6: Dictionary comprehension 3#

จงเขียน dictionary comprehension

  • Input: ลิสต์ของคำ ['baby', 'baby', 'baby', 'oh', '...', 'baby', 'baby', 'no','!']

  • Output: ดิกต์ที่มี key เป็นคำ และ value เป็นอันดับของคำตามความถี่ เช่น {'baby': 1, 'oh': 2, '...': 3, 'no': 4, '!': 5}

Hint: ใช้ Counter นับคำก่อนหลังจากนั้นเขียน dict comprehension โดยใช้ Counter.most_common เป็น input

word_list = ['baby', 'baby', 'baby', 'oh', '...', 'baby', 'baby', 'no','!']