Python &引用;如何将列表中的字符串计数为-lst=(';abcdefgabc';)";。输出应该是a=2,b=2,c=2,d=1,e=1,f=1,g=1

Python &引用;如何将列表中的字符串计数为-lst=(';abcdefgabc';)";。输出应该是a=2,b=2,c=2,d=1,e=1,f=1,g=1,python,python-3.x,Python,Python 3.x,正在尝试计算字符串的计数,其中lst=('abcdefgabc') 输出应该是a=2,b=2,c=2,d=1,e=1,f=1,g=1这就是你要找的吗 lst=('abcdefgabc') new_list = [] for i in lst: a = i+"="+str((lst.count(i))) new_list.append(a) b = sorted(set(new_list)) print(b) for x in b: print(x) 输出: ['a=2'

正在尝试计算字符串的计数,其中
lst=('abcdefgabc')


输出应该是
a=2,b=2,c=2,d=1,e=1,f=1,g=1
这就是你要找的吗

lst=('abcdefgabc')
new_list = []
for i in lst:
    a = i+"="+str((lst.count(i)))
    new_list.append(a)
b = sorted(set(new_list))
print(b)
for x in b:
    print(x)
输出:

['a=2', 'b=2', 'd=1', 'c=2', 'f=1', 'e=1', 'g=1']
a=2
b=2
d=1
c=2
f=1
e=1
g=1

这与您获得的输出有什么不同?如果您需要
=
,只需将其作为另一个参数添加到
打印
函数相关:请参阅引用
计数器的答案,一式两份。请尝试
集合。计数器(“abcdefgabc”)
无需两个
计数(i)
。编辑:不需要三个
lst.count(i)
s。计算一次,如果以后在循环中需要,将其存储为局部变量。这是在
lst
3*len(lst)
次上循环。每个元素3次。非常感谢,但是我们不需要输出两倍。a=2显示了两次。它应该显示一次。非常感谢你。是的,那正是我要找的@如果这解决了您的问题,请将其标记为已接受的答案!请注意,OP似乎希望输出有序;将
list(set(new\u list))
更改为
sorted(set(new\u list))
可以实现这一点。如果不进行排序,输出顺序实际上会因运行而异(由于散列盐析)。
['a=2', 'b=2', 'd=1', 'c=2', 'f=1', 'e=1', 'g=1']
a=2
b=2
d=1
c=2
f=1
e=1
g=1