我想根據元音和輔音的內容爲單詞創建二進制值,其中元音的值爲'0',輔音的值爲'1'。將字符串轉換爲python中的二進制表示
例如,「哈哈」將被表示爲1010,作爲哈哈哈101010.
common_words = ['haha', 'hahaha', 'aardvark', etc...]
dictify = {}
binary_value = []
#doesn't work
for word in common_words:
for x in word:
if x=='a' or x=='e' or x=='i' or x=='o' or x=='u':
binary_value.append(0)
dictify[word]=binary_value
else:
binary_value.append(1)
dictify[word]=binary_value
- 隨着此我在所得字典收到太多二進制位數:
>>>dictify
{'aardvark': [0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 1, 0, 1,...}
期望輸出:
>>>dictify
{'haha': 1010,'hahaha': 101010, 'aardvark': 00111011}
我在想一個解決方案,不涉及循環內的循環...
'each'或'number_value'從哪裏來? – user2357112
沒有使用兩個循環的解決方案。 – placeybordeaux
'dictify = {w:「」。join'('0'if'in'aeiouAEIOU'else'1'for c in w)for w in common_words}' – mshsayem