Python入门学习7

>>> even=[i for i in range(10) if i%2==0]
       
>>> even
       
[0, 2, 4, 6, 8]
>>> even=[i+1 for i in range(10) if i%2==0]   --------------由此可看出 先执行for语句,再执行if语句                                                                                                        最后 才执行左侧的i+1表达式 
>>> even
       
[1, 3, 5, 7, 9]

-------------找出首字母为F的单词 

>>> words=["Great","Fell","Apple","Fly"]
       
>>> Fwords=[w for w in words if w[0]=="F"]
       
>>> Fwords
       
['Fell', 'Fly']

-------------将二维列表降为一维列表

>>> matrix=[[1,2,3],[4,5,6],[7,8,9]]
       
>>> flatten=[col for row in matrix for col in row]
       
>>> flatten
       
[1, 2, 3, 4, 5, 6, 7, 8, 9]

举例

>>> [x+y for x in "ABC" for y in "abc"]
       
['Aa', 'Ab', 'Ac', 'Ba', 'Bb', 'Bc', 'Ca', 'Cb', 'Cc'

--------------------------------------------------------------------------

>>> p=[]

>>> for x in "ABC":
       for y in "abc":
             p.append(x+y)

>>> p
       
['Aa', 'Ab', 'Ac', 'Ba', 'Bb', 'Bc', 'Ca', 'Cb', 'Cc']    

------------------------终极语法

>>> [[x,y] for x in range(10) if x%2==0 for y in range(10) if y%3==0]
       
[[0, 0], [0, 3], [0, 6], [0, 9], [2, 0], [2, 3], [2, 6], [2, 9], [4, 0], [4, 3], [4, 6], [4, 9], [6, 0], [6, 3], [6, 6], [6, 9], [8, 0], [8, 3], [8, 6], [8, 9]]
>>> _=[]
       
>>> for x in range(10):
        if x%2==0:
            for y in range(10):
                   if y%3==0:
                      _.append([x,y])

       
>>> _
       
[[0, 0], [0, 3], [0, 6], [0, 9], [2, 0], [2, 3], [2, 6], [2, 9], [4, 0], [4, 3], [4, 6], [4, 9], [6, 0], [6, 3], [6, 6], [6, 9], [8, 0], [8, 3], [8, 6], [8, 9]]

 kiss  简洁胜于复杂

2 元组

列表和元组的的差别 列表【】  元组()

元组也可以不用括号 也可以通过序列下标来获取元素 元组是不可变的  所以不能通过下标来修改对象 可以通过切片来获取元素  

元组只支持 count 和 index方法 

>>> nums=(3,5,3,6,7,9)
       
>>> nums.count(3)
       
2
>>> words=("A","B","C")
       
>>> words.index("C")
       
2

打包和解包

>>> t=(123,"ABC",3.14)
>>> t
(123, 'ABC', 3.14)
>>> x,y,z=t
>>> x
123

>>> y
'ABC'
>>> z
3.14                         
  ------------将它们一次性赋值给三个变量名的行为 称为解包  也适用于列表

>>> s=[1,2,3]
>>> t=[4,5,6]
>>> x=(s,t)
>>> x
([1, 2, 3], [4, 5, 6])
>>> x[0][0]=0
>>> x
([0, 2, 3], [4, 5, 6])             
元组虽然是不可变的 但是元组中的元素指向一个可变的列表 那就可以修                                               改列表里面的内容

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值