我有以下格式的值串列。對于串列串列中的每個專案,我試圖找出它是否存在于任何其他子串列中 - 如果是,我想對其進行計數。
[
['37772'],
['38119', '38120'],
['38103-2807', '38103-2897', '38103', '38104'],
['38138-3904', '38138'],
['37421'],
['37772'],
['37067'],
['37203'],
['38115'],
['38305'],
['37916'],
['37356'],
['38119']
]
結果:
37772 - 2
38119 - 2
38120 - 1
38103-2807 - 1
....
關于如何使用內置函式實作這一目標的任何線索?
uj5u.com熱心網友回復:
您可以使用內置模塊itertools.chain和collections.Counter
lst = [['37772'],
['38119', '38120'],
['38103-2807', '38103-2897', '38103', '38104'],
['38138-3904', '38138'],
['37421'],
['37772'],
['37067'],
['37203'],
['38115'],
['38305'],
['37916'],
['37356'],
['38119']]
from itertools import chain
from collections import Counter
items = Counter(chain.from_iterable(lst))
for k, v in items.items():
print(k, v)
>>> 37772 2
>>> 38119 2
>>> 38120 1
>>> 38103-2807 1
>>> ...
uj5u.com熱心網友回復:
li=[
['37772'],
['38119', '38120'],
['38103-2807', '38103-2897', '38103', '38104'],
['38138-3904', '38138'],
['37421'],
['37772'],
['37067'],
['37203'],
['38115'],
['38305'],
['37916'],
['37356'],
['38119']
]
for i in li:
print(str(i) str(li.count(i)))
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/332702.html
上一篇:迭代資料框并從串列中添加專案
下一篇:Scala:在引數中提供型別別
