我有以下名为'资产'的词典列表:
empoyees/1/contracts/new
我想总结所有可能技术的'细胞'(有> 50)。我已经看了很多问题,但是我找不到任何基于字符串变量的和数值。
我知道如何在Pandas中轻松完成这项工作,但我正在寻找一种纯粹的python解决方案。
编辑:鉴于反馈,我对问题和数据做了一些更改。对于每个邮政编码扇区,所需的输出将具有技术的单元数量:
assets = [
{
"type": "site",
"pcd_sector_id": 1,
"cells": 3,
"technology": "LTE"
},
{
"type": "site",
"pcd_sector_id": 2,
"cells": 5,
"technology": "LTE-Advanced"
},
{
"type": "site",
"pcd_sector_id": 2,
"cells": 3,
"technology": "LTE"
}
]
答案 0 :(得分:3)
您要做的是首先检索所有"单元格"单个列表中的项目:
cells = [d['cells'] for d in assets]
# or
import operator
cells = map(operator.itemgetter('cells'), assets)
然后使用内置的sum
函数对它们求和:
sum(d['cells'] for d in assets)
# or
sum(map(operator.itemgetter('cells'), assets))
这两种方法都适用于较小的列表(我认为最好的方法会更快),但对于大型列表来说,最底层的方法肯定更快:
$python3 -m timeit "assets = [{'cells': 1}] * 1000; import operator" "sum(d['cells'] for d in assets)"
10000 loops, best of 3: 67.4 usec per loop
$python3 -m timeit "assets = [{'cells': 1}] * 1000; import operator" "sum(map(operator.itemgetter('cells'), assets))"
10000 loops, best of 3: 47.5 usec per loop
答案 1 :(得分:1)
一线解决方案:
contact = InputPhoneContact(client_id = 0, phone = "+12345678", first_name="ABC", last_name="abc")
result = client.invoke(ImportContactsRequest([contact], replace=True))
答案 2 :(得分:0)