python - 在python中只计算一次列表中的元素而不重复
问题描述
我的输入应该是一个整数。根据整数值,我必须在列表中给出字符串..我的代码是:
words = []
i = int(raw_input())
for i in range(0,i):
j= str(raw_input())
words.append(j)
unique_word_count = len(set(words))
print unique_word_count
for j in words:
print words.count(j),
我的意见是
4
bcdef
abcdefg
bcde
bcdef
输出是
3
2 1 1 2
但我需要这样的输出:
3
2 1 1
我应该怎么办?
解决方案
你太接近了!
for j in set(words):
print words.count(j),
请注意,由于您只报告每个单词的计数一次,因此您失去了每个计数与其所代表的单词之间的紧密关联。两者都set
将Counter
失去该排序。
推荐阅读
- .net - 是否可以从命令行生成开放的 api 文档?
- angular - 我想检查用户是否连接到网络以及如何连接?
- java - 在递归循环中检测 JDBC 连接泄漏的插件/工具
- powerbi - Power Bi 用表中的值替换固定列表值
- python - 在 Pandas 中读取由空格分隔的字符串数据
- javascript - @click 的样式绑定 - vue.js
- apache-spark - Spark Structured Streaming - UI 存储内存值不断增长
- pdf - 创建 PDF 时 Phantom JS 2.1.1 中的 URL 编码问题
- jenkins - 管道 DSL:动态更改构建名称
- r - 是否可以使用模型列表自动化 plot_summs?