Python计数列表和类型

2024-06-28 19:35:21 发布

您现在位置:Python中文网/ 问答频道 /正文

在python中,我有以下列表:

['personA', 'banana']
['personB', 'banana']
['personA', 'grape']
['personA', 'lemon']
['personA', 'lemon']
['personB', 'banana']

如何获得以下形式的列表:

['personA', 'lemon', 2 ]
['personB', 'banana', 2]

我得数一个人吃水果的次数。
(我用水果概括了我的问题)
对于那些投反对票的人:如果我在发帖时做错了什么,我可以理解这种沮丧。我是一个新成员,所以如果你投反对票,请提到什么窃听你,这样我就可以记住我的下一个问题。你知道吗


Tags: 列表成员次数形式lemonbananapersona发帖
2条回答
newlist = []
for sublist in yourlist:
    already_in_list = False
    for index, newsublist in enumerate(newlist):
        if sublist == newsublist[:-1]:
            newlist[index][2] += 1
            already_in_list = True
    if not already_in_list:
        newlist.append(sublist+[1])

-

>>>newlist
[['personA', 'banana', 1], ['personB', 'banana', 2], ['personA', 'grape', 1], ['personA', 'lemon', 2]]

为什么不使用collections.Counter,您可以使用list的count方法

your_list = [['personA', 'banana'], ['personB', 'banana'], ['personA', 'grape'], ['personA', 'lemon'], ['personA', 'lemon'], ['personB', 'banana']]

for i in your_list:
    print(i, your_list.count(i))

相关问题 更多 >