python入门笔记-截取,循环

python的截取非常方便,类似于在数组直接取值

可以截取数组和字符串

L['a','b','c']       L[s:e:t]表示s表示开始下标,e表示结束下标但不包含结束下标,t表示每隔几个取第一个(解释为截取出n段,每段取第一个,组成新数组返回),e,s可以取负值,负值第一位为-1,

t可以省略,当L[:]表示新复制一个数组返回

eg,取1-100内3的倍数,取出前10位,取最后10个

L = range(1,101)
end = L[2::3]
end1 = L[:10]
end2 = L[-10:]

迭代:enumerate,可以把list转化成list内的每一个数据编程tuple,

L = ['asd','qwe','zxc']
enumerate(L)
==>[(0,'asd'),(1,'qwe'),(2,'zxc')]
#循环
for kv in enumerate(L):
    k = kv[0]
    v = kv[1]
    print k,'-',v

#进化为
for k,v in enumerate(L):
   print k,'-',v

注:zip:组合函数

a  = ['b', 'c', 'd', 'e']

b = ['11','22','33','44']

c = zip(a,b)

[('b', '11'), ('c', '22'), ('d', '33'), ('e', '44')]

dict列表:values(),itervalues()和items()方法

values()是取出values组成一个list返回,

itervalues()是不取出,感觉是把地址(指针)指向每一个value,只能在迭代过程中直接取出values,当原地址内值变化后,再次循环后数值会跟着变化

d = {'a': 6, 'b': 7, 'c': 8, 'd': 9 }
L = d.values()
# L = [6,7,8,9]
L1 = L.itervalues()
# 直接在控制台打印L1,会是一个地址:<dictionary-valueiterator object at 0x0367EE40>
# 需要用遍历表示出来:for k in L1:print k    输出为6,7,8,9

item()方法是把json转化为json型list

d = {'a': 6, 'b': 7, 'c': 8, 'd': 9 }
L = d.item()
#L ==> [('a': 6), ('b': 7), ('c': 8), ('d': 9)]

转载于:https://my.oschina.net/nisir/blog/3033351

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值