逆向在python频率计数
问题描述:
说,我含有线的项目的数据[1],随后在线路其频率计数[2]逆向在python频率计数
Item Frequency.Count
A 5
B 4
C 3
D 2
E 1
但我想输出是这样的:
Data
A
A
A
A
A
.
.
.
C
C
C
D
D
E
这有点下面的代码的反向:
my_list = sorted(word_freq.items(), key = lambda x:x[1], reverse = True)
for word,freq in my_list:
print ("%‐10s %d" % (word, freq))
你可能会认为这是一个愚蠢的方法来进行频率分析但我想知道是否有反向操作来计算频率,有没有人有一个关于如何排列给定数据的想法,因为有两列?非常感谢您的建议。
答
如果你在你的项目,并在第二循环回路只是复制它没有次数的频率列表比你做我guess.Please尝试这种方法,你想这样做
答
做什么?我认为这就是@Navin Dalal的意思(虽然不确定)。
与
> l
[['A', 5],
['B', 3],
['C', 1]]
你可以得到你想要的东西:
> list("".join([i*j for i, j in l]))
['A', 'A', 'A', 'A', 'A', 'B', 'B', 'B', 'C']
的关键部分是:
[i*j for i, j in l]
['AAAAA', 'BBB', 'C']
因为你可以乘字符串中的一些给出倍一个整数。
希望这会有所帮助。
答
输入列表:升= [[ 'A',5],[ 'B',3],[ 'C',1]]
out_put=[]
[(out_put.extend([j for j in lst[0]*lst[1])])) for lst in l]
out_put:[ 'A' 'A''A''A''A''B''B''B''C'