问题描述
对于列表:
names=['fred','fred','bill','ted','ted']
我想返回每个名称的计数列表:
desired_list=[3,2,4]
我尝试过的代码: 输入:
name_count=[names.count(x) for x in set(names)]
输出:
[4,3,2]
......但是顺序错误。它应该是[3,4] ...与名称列表中名称的顺序相同。
解决方法
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<canvas id="canvas" width="800" height="500"></canvas>
<div id="output"></div>
from collections import Counter
names = ['fred','fred','bill','ted','ted']
print(list(Counter(names).values()))
,
使用<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<label>Time Zone: EST</label><br>
<p class="line-item-property__field radio-toolbar">
<input required type="radio" id="10" name="properties[Time Zone: EST]" value="10:00 am" checked><label for="10">10:00 am</label>
<input required type="radio" id="11" name="properties[Time Zone: EST]" value="11:00 am"> <label for="11">10:00 am</label>
<input required type="radio" id="12" name="properties[Time Zone: EST]" value="12:00 am"><label for="12">12:00 am</label>
<input required type="radio" id="13" name="properties[Time Zone: EST]" value="1:00 pm"> <label for="13">1:00 pm</label>
<input required type="radio" id="14" name="properties[Time Zone: EST]" value="2:00 pm"> <label for="14">2:00 pm</label>
<input required type="radio" id="15" name="properties[Time Zone: EST]" value="3:00 pm"> <label for="15">3:00 pm</label>
<input required type="radio" id="16" name="properties[Time Zone: EST]" value="4:00 pm"><label for="16">4:00 pm</label>
<input required type="radio" id="17" name="properties[Time Zone: EST]" value="5:00 pm"> <label for="17">5:00 pm</label>
<input required type="radio" id="18" name="properties[Time Zone: EST]" value="6:00 pm"><label for="18">6:00 pm</label>
<input required type="radio" id="19" name="properties[Time Zone: EST]" value="7:00 pm"> <label for="19">7:00 pm</label>
<input required type="radio" id="20" name="properties[Time Zone: EST]" value="8:00 pm"> <label for="20">8:00 pm</label>
<input required type="radio" id="21" name="properties[Time Zone: EST]" value="9:00 pm"> <label for="21">9:00 am</label>
<input required type="radio" id="22" name="properties[Time Zone: EST]" value="10:00pm"><label for="22">10:00 am</label>
</p>
中的groupby
并理解列表的另一个选项是:
itertools
哪个返回:
from itertools import groupby
names=['fred','ted']
res = [len(list(g[1])) for g in groupby(names)]
print(res)