05.python的高级特性

#切片
l=list(range(100))
print(l)
#倒数20--倒数10
print('倒数20--倒数10:',l[-20:-10])
print('倒数10--倒数0:',l[-10:])
print('倒数20--倒数10,间隔2:',l[-20:-10:2])
#字符串和元组同理

#迭代
l=l[::20]
for i in l:
    print(i)

dict={'a':'apple','b':'book','c':'commom','d':'delete'}
#迭代出来的是key
for k in dict:
    print(k)

#迭代出来的是value
for k in dict.values():
    print(k)
#迭代出来的是value和下标
for i,k in enumerate(dict.values()):
    print('第',i,'个值是:',k)

#迭代出来的是key和value
for k,v in dict.items():
    print(k,'=====>',v)

#类似的
for x,y,z in [[1,2,4],[3,4,5]]:
    print(x,y,)

#列表生成
print('生成1--10的列表:',list(range(1,11)))
print('生成1--10的立方的列表:',[x*x*x for x in range(1,11)])

#生成器,会在循环的时候自动推算
g=(x*x*x for x in range(1,11))
print(next(g))
print(next(g))
print(next(g))

print("遍历g:")
for i in g:
    print(i)

#generator 用yield保存状态
def generator():
    n = 0;
    while n<10:
        print(n)
        yield n
        n=n+1

#每次运行到yield处就返回,下一次接着上一次的运行
next(generator())
next(generator())
for i in generator():
   pass





C:\Users\Administrator.000\AppData\Local\Programs\Python\Python36\python.exe E:/python/05高级特性.py
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99]
倒数20--倒数10: [80, 81, 82, 83, 84, 85, 86, 87, 88, 89]
倒数10--倒数0: [90, 91, 92, 93, 94, 95, 96, 97, 98, 99]
倒数20--倒数10,间隔2: [80, 82, 84, 86, 88]
0
20
40
60
80
a
b
c
d
apple
book
commom
delete
第 0 个值是: apple
第 1 个值是: book
第 2 个值是: commom
第 3 个值是: delete
a =====> apple
b =====> book
c =====> commom
d =====> delete
1 2
3 4
生成1--10的列表: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
生成1--10的立方的列表: [1, 8, 27, 64, 125, 216, 343, 512, 729, 1000]
1
8
27
遍历g:
64
125
216
343
512
729
1000
0
0
0
1
2
3
4
5
6
7
8
9
0
0


Process finished with exit code 0


猜你喜欢

转载自blog.csdn.net/qq_34908148/article/details/80378257