python学习记录-1

原处修改,快:

 

第一种方式:

>>> a=[1,2,3]

>>> b=a

>>> a.extend([4,5])

>>> a

[1, 2, 3, 4, 5]

>>> b

[1, 2, 3, 4, 5]

第二种方式:

>>> a=[1,2,3]

>>> b=a

>>> a+=[4,5]

>>> a

[1, 2, 3, 4, 5]

>>> b

[1, 2, 3, 4, 5]

 

 

 

合并:

>>> a

[1, 2, 3]

>>> b=a

>>> a=a+[4]

>>> a

[1, 2, 3, 4]

>>> b

[1, 2, 3]

 

 

 

for遍历字典的两种方式:

>>> d={'a':1,'b':2,'c':3}

>>> for key in d:

...  print(key,'=>',d[key])

... 

b => 2

a => 1

c => 3

>>> list(d.items())

[('b', 2), ('a', 1), ('c', 3)]

>>> for (key,value) in d.items():

...  print(key,'=>',value)

... 

b => 2

a => 1

c => 3

 

 

 

for循环一般都比while计数器循环运行得更快。因为迭代器在python 中是以C语言的速度运行的,而while循环版本则是通过python虚拟机运行python字节码的。

 

readlines会一次性讲文件读入内存,不适合大文件。

 

 

 

列表以及很多其它的内置对象,不是自身的迭代器,因为他们支持多次打开迭代器。对这样的对象,我们必须调用iter来启动迭代:

>>> l=[1,2,3]

>>> iter(l) is l

False

>>> l.__next__()

Traceback (most recent call last):

  File "<stdin>", line 1, in <module>

AttributeError: 'list' object has no attribute '__next__'

>>> a=iter(l)

>>> a.__next__()

1

>>> next(a)

2

 

 

列表解析的两种反式:

慢:

>>> L=[1,2,3,4,5]

>>> for i in range(len(L)):

...  L[i]+=10

... 

>>> L

[11, 12, 13, 14, 15]

 

快:

>>> L=[x+10 for x in L]

>>> L

[21, 22, 23, 24, 25]

 

你可能感兴趣的:(python)