重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
兄台你这断章取义的提问让诸位老司机措手不及啊,不过有一点是可以确定的:你一定在看用Python做数据分析这本书,rec是定义的变量,rec【'tz'】是去json中value值
创新互联建站专注为客户提供全方位的互联网综合服务,包含不限于成都网站建设、网站制作、霍州网络推广、微信小程序、霍州网络营销、霍州企业策划、霍州品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;创新互联建站为所有大学生创业者提供霍州建站搭建服务,24小时服务热线:18980820575,官方网址:www.cdcxhl.com
不用for有很多种方法,第一种最简单,python本身提供了一个算list所有元素总值的函数sum
def sum_ints(x):
if isinstance(x, int):
return x
if isinstance(x, list):
return sum(x)
第二种用reduce函数,这个函数在2.x时是内置函数,3.x被移动到functools模块中了。
def sum_ints(x):
if isinstance(x, int):
return x
if isinstance(x, list):
return reduce(lambda a,b : a+b , x)
这里的reduce其实就是很多函数型编程语言中的foldl函数
你问题中提到了recursive,那上面两种方法都投机了一点,用了python的函数而没有用递归
下面是递归的方法
def sum_ints(x):
if isinstance(x, int):
return x
if isinstance(x, list):
def sum_ints_rec(rx):
if rx:
return rx[0] + sum_ints_rec(rx[1:])
else:
return 0
return sum_ints_rec(x)
修改:
不好意思,只看了前面几行,没注意列表可能是多层的
修改一下应该就OK了
def sum_ints(x):
if isinstance(x, int):
return x
if isinstance(x, list):
if x:
if len(x) 1:
return sum_ints(x[0]) + sum_ints(x[1:])
else:
return sum_ints(x[0])
else:
return 0
return 0
rec = collections.defaultdict(int)
for i in arr:
rec[i] += 1
count = 0
for k, v in rec.items():
if v == 1:
count += 1
print(count)
# -*- coding:utf-8 -*-
__author__ = 'Jipu FANG'
import requests
f = open('123.txt', 'r+')
a=f.readlines()
b = '115'
if [c.strip().find(b) for c in a ]:
print("%s 已经存在!" %(b))
else:
f.write(b)
f.close()
# 自己去完善吧!也是一种学习!