学习笔记【python】循环 zip and &

简单元素循环

>>> l = [43,65,78,900]
>>> for item in l:
...   print(item)
...
43
65
78
900

for 循环简单带序号

list1 = [11,33,44,77,88]

for i,v in enumerate(list1):

  print('序号:',i, '值:',v)


序号: 0 值: 11

序号: 1 值: 33
序号: 2 值: 44
序号: 3 值: 77
序号: 4 值: 88


要序号从1开始这样写。从2,其它数,把1改成这个数就行.

list1 = [11,33,44,77,88]

for i,v in enumerate(list1,1):

  print('序号:',i, '值:',v)



>>> list1 =[1,3,4,79]
>>> [elem*2 for elem in list1]  #这前后的[ ] 两个括号不能少
[2, 6, 8, 158]

zip函数使用

>>> b = [12,54,78,95]
>>> a = [56,344,677,988]
>>> zip(a,b)
<zip object at 0x0000000002CF8E88>
>>> zipped = zip(a,b)
>>> list(zipped)
[(56, 12), (344, 54), (677, 78), (988, 95)]
>>> zipped2 = zip(range(len(a)),a)
>>> zipped2 #这里如果是python2的话就直接是值,但在python3里返回的是一个对象(地址),有list强制转换一个就可以显示成List列表.
<zip object at 0x0000000002D2B3C8>
>>> list(zipped2)
[(0, 56), (1, 344), (2, 677), (3, 988)]
>>> zipped2 = list(enumerate(a)) #另一种表达方式
>>> zipped2
[(0, 56), (1, 344), (2, 677), (3, 988)]

从1开始的表达

>>> zip(range(1,len(a)),a)
<zip object at 0x0000000002D2B3C8>
>>> zipped = zip(range(1,len(a)),a)
>>> zipped
<zip object at 0x0000000002D2B7C8>
>>> list(zipped)
[(1, 56), (2, 344), (3, 677)]
>>> zipped = list(enumerate(a,1))
>>> zipped
[(1, 56), (2, 344), (3, 677), (4, 988)]


and 和 & 的区别

and是比较前后两个表达式是否都是逻辑上的True。而“&”则是检查两个表达式(当时用True/False值)是否都为 True。

and,例如:ex1 and ex2,当ex1为逻辑上的True时,该表达式的值就跟ex2是相同的。因为,In Python, empty built-in objects are typically treated as logically False while non-empty built-ins are logically True。这句话,python里面,只要不是一个空的对象,逻辑上就是True,否则,如果是空的或者0,就是逻辑上的False。对于&,则是检测两个值是否都为True,若是,返回True;否则,返回False。当进行向量数据的逻辑运算时,可以使用numpy 和 &。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值