1. 循环遍历
if __name__ == '__main__':while True:
2. 录入数据
str1=raw_input()#通过split()将数据分割,并用map(int,list)将其存储
n,k=map(int,str1.split())
str2=raw_input()#分割后利用map将全部数据进行转换
listA=map(int,str2.split())
3. list的去重
#因为set是去重的东西,所以转化成set再转化成list即可
newA = list(set(a))
# 但是二维列表的去重就不一样了,他需要先转化成tuple然后在进行set
reList = list(set([tuple(t) for t in reList]))
reList = [list(v) for v in reList]
4. list的排序
#注意,虽然a.sort()也能进行排序,但是只是针对a排序,要是想存储到另一个list中,还是要使用sorted的
newA=sorted(a)#想要反顺序,那就加一个reverse
newA=sorted(a,reverse=True)
5. 统计数据
#count用来判断这个list里面有多少个该数据
result+=listA.count(0)
6. 二维链表的使用
listA=[]#有时候我们需要二维链表,即一行保存两组数据#利用append来添加数据
listA.append([1,1])#利用pop来删除并获取删除节点数据
s,m=listA.pop(0)
7. 判断链表中是否有元素
#利用len配合pop来做循环
whilelen(listA):#默认是删除并提取最后一个元素
k=listA.pop(0)#也可以利用len来遍历结果
for i inrange(len(listA)):print listA[i]
8. 字符串的拼接
s=1m=2
#利用str转化成String
listA=[str(s), ',', str(m)]#利用join(list)将所有数据整合到一起变成字符串
strA="".join(listA)
9. 判断字典是否存在key值数据
#注意只能得到True和False,不要使用!
if dictionaryA.has_key(strA)==False:print "没有这个数据,可以将其加入进去"
#加入方法直接赋值即可
dictionaryA[strA]="value"
10. 字符串边List
#其实并不难,直接list套上去就行
listStr=list(strA)
11. 将字符串转化成算术式子
#写个函数也不是不可以,但是有就直接用嘛(直接计算完毕的哟)
resultA=eval(strA)
12. 三元运算符
#c中的是 式子?A:B#python中有些不一样 正结果 if 式子 else 负结果
print "\n" if k==len(listA)-1 else ".."
13. python不换行
#使用逗号可以有效解决python2中的换行,使用end=''可以解决python3的换行#但是还是建议import,在python2也能用
from __future__ importprint_function
a='abcd'
print ("%s" %a, end='')
14. List求和求均值
#求和很简单
sumA=sum(listA)#均值利用sum和len即可
meanA=sum(listA)/len(listA)
15. 生成组合结果
importitertools
a=['a','b','a']
b=3
#使用itertools中的product方法 *[a]*b相当于列表a复制b次
listA=[''.join(x) for x in itertools.product(*[a]*b)]#转化成set生成不重复的结果
setA=set(listA)
listNewA=list(setA)#使用 product("abc",repeat=3)这样也可以
#使用permutions能够很快的得到所有的排列组合
strA=map(str,nums)#返回所有的可能值,使用set+随机排列即可
listA=[map(int,list(x)) for x initertools.permutations(strA,len(strA))]returnlistA#其应用实质就是不断的插入,选择一个点插入,在遍历下一个点找位置插入即可
16. 将所有的list中数值数据进行加减操作
from numpy import *listA=[1,2,3,4]#将a转化成array来进行处理
arrayA=array(listA)
arrayNewA=arrayA+4
#再将array转化成list
listNewA=list(arrayNewA)
17. list中的奇数项和偶数项
#奇数的语句
print x[::2]#偶数的语句
print x[1::2]
这里涉及到【a:b:c】格式 a和b表示范围,缺省的话分别表示,头结点和尾结点位置,最后表示步长,缺省为1,所以就有了奇数项和偶数项的定义。
当把步长设定为负数的时候,a的缺省值为-1,b的缺省值为-len(listA)-1,换句话讲,就是从倒数第1个接到到倒数第len(listA)个,因为正常来讲[0:1]表示0一个值,所以[-1:-len(listA)-1]表示了倒着看的全部值。综上所述,使用[::-1]即可完成列表倒序,相当于使用[-1:-len(listA):-1],恩恩,这样就可完全理解了
18. 快速拼接(嵌套的list转换成一维list)
a=[[1,2],[3,4]]#利用sum来就去掉[]
sum(a,[])#或者使用itertools来处理
importitertools#使用itertools.chain.from_iterable来进行并转换成list
out = list(itertools.chain.from_iterable(a))
19. 利用type来判断一个结构
#利用type来判断--主要掌握list、dict即可
listA=[1,2,3,4]if type(listA)==list:print "我是list"
#当然遇到不知道的打印一下就好了
print type(listA)
20. 合并两个list
from numpy import *
#水平进行叠加
a=[1,2,3]
b=[4,5,6]
hstack((a,b))#array([1,2,3,4,5,6])#竖直进行叠加
vstack((a,b))#array([[1,2,3],[4,5,6]])
21. 取整方法<