如何为列表中的每个值获取一个数字?
How do I get a number for each value in my list?
Python 的新手和一般编程。我正在尝试创建一个程序来从 Cisco UCM 中提取设备数量。目前,我可以让程序打印出 CUCM 的模型列表,但最终我想看看每个模型出现了多少。例如,如果 CUCM 服务器有 5 个 8845 和 3 个 8865,我希望 Python 快速显示该信息。
这是我当前的代码:
if __name__ == '__main__':
resp = service.listPhone(searchCriteria={'name':'SEP%'}, returnedTags={'model': ''})
model_list = resp['return'].phone
for phone in model_list:
print(phone.model)
我试图从 Pandas 创建一个 DataFrame 但无法正常工作。我认为问题是我没有将 phone.model 部分存储为变量,但我不知道该怎么做。
我的目标是最终得到如下内容的输出:
8845 - 5
8865 - 3
在此先感谢您的帮助!
这里好像不需要Pandas,普通老Python可以写一个像下面counts
这样的helper —
from collections import defaultdict
def counts(xs):
counts = defaultdict(int)
for x in xs:
counts[x] += 1
return counts.items()
然后你就可以像这样使用它了 —
models = ['a', 'b', 'c', 'c', 'c', 'b']
for item, count in counts(models):
print(item, '-', count)
输出将是 —
a - 1
b - 2
c - 3
玩过 CUCM 输出后,我是这样做的:
modellist={}
for phone in resp['return']["phone"]:
if phone["model"] in modellist.keys():
modellist[phone["model"]] += 1
else:
modellist[phone["model"]] = 1
for phone, count in modellist.items():
print(phone, " - " ,count)
Python 的新手和一般编程。我正在尝试创建一个程序来从 Cisco UCM 中提取设备数量。目前,我可以让程序打印出 CUCM 的模型列表,但最终我想看看每个模型出现了多少。例如,如果 CUCM 服务器有 5 个 8845 和 3 个 8865,我希望 Python 快速显示该信息。
这是我当前的代码:
if __name__ == '__main__':
resp = service.listPhone(searchCriteria={'name':'SEP%'}, returnedTags={'model': ''})
model_list = resp['return'].phone
for phone in model_list:
print(phone.model)
我试图从 Pandas 创建一个 DataFrame 但无法正常工作。我认为问题是我没有将 phone.model 部分存储为变量,但我不知道该怎么做。
我的目标是最终得到如下内容的输出:
8845 - 5
8865 - 3
在此先感谢您的帮助!
这里好像不需要Pandas,普通老Python可以写一个像下面counts
这样的helper —
from collections import defaultdict
def counts(xs):
counts = defaultdict(int)
for x in xs:
counts[x] += 1
return counts.items()
然后你就可以像这样使用它了 —
models = ['a', 'b', 'c', 'c', 'c', 'b']
for item, count in counts(models):
print(item, '-', count)
输出将是 —
a - 1
b - 2
c - 3
玩过 CUCM 输出后,我是这样做的:
modellist={}
for phone in resp['return']["phone"]:
if phone["model"] in modellist.keys():
modellist[phone["model"]] += 1
else:
modellist[phone["model"]] = 1
for phone, count in modellist.items():
print(phone, " - " ,count)