我想根据单词的元音和辅音的内容为单词创建二进制值,其中元音的值为“0”,辅音的值为“1”。在
例如,“哈哈”表示为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
-因此,我在生成的字典中得到了太多的二进制数字:
^{pr2}$期望输出:
>>>dictify
{'haha': 1010,'hahaha': 101010, 'aardvark': 00111011}
我在想一个解决方案,不涉及一个循环中的一个循环。。。在
user2357112解释您的代码。还有一种方法:
这似乎是翻译表的工作。如果你能定义一个字符串的定义,那么你可以定义一个模糊的输入
上表的问题变得微不足道:
^{pr2}$有了这个解决方案,您可以非常简单地构建dictify:
*Python 3也可以这样做,但必须使用字节而不是字符串:
^{4}$您发布的代码不起作用,因为所有单词共享相同的}。)为每个单词定义一个新列表:
binary_value
列表。(它也不起作用,因为number_value
和each
从来没有定义过,但是我们假设这些变量称为binary_value
和{如果您希望输出看起来像}。Python不区分“this int is base2”或“this int有2个前导零”。)
^{pr2}$00111011
,而不是一个列表,则需要生成一个字符串。(您可以生成一个int,但是它看起来像是59
,而不是{相关问题 更多 >
编程相关推荐