骚气的马小跳 发表于 2020-5-31 11:04:10

求帮忙给个思路

新手刚刚接触python一周,遇到了问题,麻烦各位大佬帮帮忙~

text= 'wakakak wulala eihhhhh saudewoae'
a_count= {x:text.count(x) for x in text}
print (a_count)

求教如何用循环做出一样的效果

我的代码
text= 'wakakak wulala eihhhhh saudewoae'
a={}
for x in text:
    a={x:text.count(x)}
    print(a)
但是这样会重复打印,麻烦各位了

qiuyouzhi 发表于 2020-5-31 11:09:03

把最后那个print放到循环外面就好

骚气的马小跳 发表于 2020-5-31 11:12:11

qiuyouzhi 发表于 2020-5-31 11:09
把最后那个print放到循环外面就好

我试过,出来的效果不一样

qiuyouzhi 发表于 2020-5-31 11:26:27

骚气的马小跳 发表于 2020-5-31 11:12
我试过,出来的效果不一样

啊,是吗?
把两个效果放出来看看呗

骚气的马小跳 发表于 2020-5-31 11:33:47

WeChatb048c280f4825338b15dc7a97ea0bcd9.png

骚气的马小跳 发表于 2020-5-31 11:35:00

qiuyouzhi 发表于 2020-5-31 11:26
啊,是吗?
把两个效果放出来看看呗

{'w': 3, 'a': 7, 'k': 3, ' ': 3, 'u': 2, 'l': 2, 'e': 3, 'i': 1, 'h': 5, 's': 1, 'd': 1, 'o': 1}
{'e': 3}

两个效果
不会发图片。。。

qiuyouzhi 发表于 2020-5-31 11:40:22

骚气的马小跳 发表于 2020-5-31 11:35
{'w': 3, 'a': 7, 'k': 3, ' ': 3, 'u': 2, 'l': 2, 'e': 3, 'i': 1, 'h': 5, 's': 1, 'd': 1, 'o': 1}
...

噢,找到原因了,改成这样:
text= 'wakakak wulala eihhhhh saudewoae'
a={}
for x in text:
    a = text.count(x)
print(a)

骚气的马小跳 发表于 2020-5-31 11:50:46

qiuyouzhi 发表于 2020-5-31 11:40
噢,找到原因了,改成这样:

可以了 老哥可以解释一下么

qiuyouzhi 发表于 2020-5-31 11:53:32

骚气的马小跳 发表于 2020-5-31 11:50
可以了 老哥可以解释一下么

你那个是每次对字典进行重新赋值,这样的话,
每次字典都只会有一个项。

骚气的马小跳 发表于 2020-5-31 12:05:21

qiuyouzhi 发表于 2020-5-31 11:53
你那个是每次对字典进行重新赋值,这样的话,
每次字典都只会有一个项。

好的,谢谢

qiuyouzhi 发表于 2020-5-31 12:14:03

骚气的马小跳 发表于 2020-5-31 12:05
好的,谢谢

如果问题解决,请设置最佳答案
页: [1]
查看完整版本: 求帮忙给个思路