review the advance features in Python

review the advance features in Python

the slice

l = [‘yuhanyu’,’cs’,23,’guilin’]
print(l[0:4]) # yuhanyu cs 23 guilin

name[x:y], this is a list, from x strat, count y numbers

if the x == 0, can ellipsis it

print(l[-3:-1])

name[x:y:z] # z that means z interval numbers

the Iteration

it can use in list, tuple and other object

should notice that () is tuple, [] is list, {} is dict

d = {‘a’:1,’b’:2,’c’:3}
for key in d:
print(key)
for value in d.values():
print(value)
for key, value in d.items():
print(key,value)

there are 3 ways to get the key, value or both in dict

how to judge a object is a Iterable or not

from collections import Iterable
print(isinstance([1],Iterable))

# the List Comprehensions
print([x*x for x in range(1,11) if x%2 == 0])

should notice the indent(缩进)!!!

the generator

在Python中,这种一边循环一边计算的机制,称为生成器:generator

g = (x*x for x in range(11)) # this is a generator,
for a in g: # should see the parentheses(小括号)
print(a)

the iterator

生成器都是Iterator对象,但list、dict、str虽然是Iterable,却不是Iterator。

把list、dict、str等Iterable变成Iterator可以使用iter()函数:

from collections import Iterator
print(isinstance(iter([]), Iterator))

你可能感兴趣的:(python)