python列表推导式

python列表推导式 特点:语言简单,速度快等优点!!!

1,取出名字长度大于3的人

>>> names=['java','scala','python','hadoop','c','c++']
>>> names
['java', 'scala', 'python', 'hadoop', 'c', 'c++']

>>> for name in names:
...         if len(name) > 3:
...              print (name)
...
java
scala
python
hadoop

用列表推导式:

>>> [name.upper() for name in names if len(name) > 3]
['JAVA', 'SCALA', 'PYTHON', 'HADOOP']
>>> [name for name in names if len(name) > 3]
['java', 'scala', 'python', 'hadoop']
>>>

2,求(x,y)其中x是0~5之间的偶数,y是0~5之间的奇数组成的元组列表.

 

>>> [(x,y) for x in range(6) if x%2==0 for y in range(6) if y%2==1]
[(0, 1), (0, 3), (0, 5), (2, 1), (2, 3), (2, 5), (4, 1), (4, 3), (4, 5)]

3,求M中3,6,9组成的列表

 M =[[1,2,3],[4,5,6],[7,8,9]]

>>> M =[[1,2,3],[4,5,6],[7,8,9]]
>>> M
[[1, 2, 3], [4, 5, 6], [7, 8, 9]]

>>> [row[2] for row in M]
[3, 6, 9]

解析:

>>> for row in M:
...        print(row)
...
[1, 2, 3]
[4, 5, 6]
[7, 8, 9]

4,求M中斜线159组成的列表

>>> [M[i][i] for i in range(len(M))]
[1, 5, 9]

解析:

 len(M)=3   ===> range(len(M)) = 0, 1, 2 ===>i = 0, 1, 2

当 i = 0时,M[i]=[1, 2, 3] ===> M[i][i] = [1]

当 i = 1时,M[i]=[4, 5, 6] ===> M[i][i] = [5]

当 i = 2时,M[i]=[7, 8, 9] ===> M[i][i] = [9]

转载于:https://www.cnblogs.com/cindy-zl24/p/8980517.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值