pyhton的操作笔记--未完待续

一、随机排序

a=[1,2,3,4,5,6,7,8]
import random
x=a[:]
random.shuffle(x)
print x

结果:[8, 6, 7, 2, 3, 5, 4, 1]   当然每次可能不一样。


二、deepcopy的使用

import copy
x=[1,2,3,4]
y=x
y.append(5)
print x
print y

z=copy.deepcopy(x)
z.append(6)
print x
print y
print z


最终结果

[1, 2, 3, 4, 5]
[1, 2, 3, 4, 5]
[1, 2, 3, 4, 5]
[1, 2, 3, 4, 5]
[1, 2, 3, 4, 5, 6]

可以看出深拷贝不会改变原list中的值


三、快速获取小于limit这个数的素数

limit = 2000000
arr = [True] * limit

def sieve(x):
   global arr,limit
   for i in range(x*2,limit,x):
      arr[i] = False

map(sieve, range(2,limit**1/2))

primes = []
for i in range(2,limit):
   if arr[i]: primes.append(i)

sum = 0
for p in primes: sum += p
print sum

四、zip的使用,变成字典

a=[[1,2,3,4],[5,6,7,8],[1,1,1,1],[2,2,2,2]]
b=[1,2,3,4]
c=zip(a,b)

pyhton的操作笔记--未完待续_第1张图片

五、还原zip数据

a=[[1,2,3,4],[5,6,7,8],[1,1,1,1],[2,2,2,2]]
b=[1,2,3,4]
c=zip(a,b)

import random

random.shuffle(c)  

d=map(list,zip(*c))

pyhton的操作笔记--未完待续_第2张图片



1. 列表可包含任何数据类型的元素,单个列表中的元素无须全为同一类型。 
2.  append() 方法向列表的尾部添加一个新的元素。只接受一个参数。
3.  extend()方法只接受一个列表作为参数,并将该参数的每个元素都添加到原有的列表中。

append()用法示例:

>>> mylist = [1,2,0,'abc']

>>> mylist

[1, 2, 0, 'abc']

>>> mylist.append(4)

>>> mylist

[1, 2, 0, 'abc', 4]

>>> mylist.append('haha')

>>> mylist

[1, 2, 0, 'abc', 4, 'haha']

>>>

extend()用法示例:

>>> mylist

[1, 2, 0, 'abc', 4, 'haha']

>>> mylist.extend(['lulu'])

>>> mylist

[1, 2, 0, 'abc', 4, 'haha', 'lulu']

>>> mylist.extend([aaa,'lalalala'])

Traceback (most recent call last):

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

NameError: name 'aaa' is not defined

>>> mylist.extend(['123123','lalalala'])

>>> mylist

[1, 2, 0, 'abc', 4, 'haha', 'lulu', '123123', 'lalalala']

>>> mylist.extend([111111,222])

>>> mylist

[1, 2, 0, 'abc', 4, 'haha', 'lulu', '123123', 'lalalala', 111111, 222]

>>>

OVER!



你可能感兴趣的:(pyhton的操作笔记--未完待续)