โจทย์: 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','!']