python个人笔记,纯属方便查询:
##################################
##################################
##################################



i=['car','clothes','ipone']      #语法
i      #查看所有的元素
i[0]     #取第一个
i[1]     #取第二个
i[-1]    #取最后一个

i[0:10]   #取一个到第九个
i[-5:]   #取最后五个
i[:5]    #取前五个
  
i.append    #i.append('darren')   #往i追加一个元素。
i.count     #i.count('darren')      #统计darren的数量。
i.extend    #i.extent(range (1000))  #先生成一个列表,然后再加进i列表。
i.index(559)  #查找第一个559的位置。 i[ i.index(559) ]   #先找到559这个值得下标,然后再根据下标查找559.     
i.insert    #i.insert(3,'IBM')  在第3元素插入IBM 
i.remove    #i.remove('IBM')  删除一个ibm值。
i.sort     #排序 (先数字,再字母)
i.pop      #删掉最后一个元素。
i.reverse    #倒序

把所有的IBM改成HP:
for n in range(i.count('IBM')):        #取几次
 i[i.index('IBM')]='HP'

-------------------------------------------------
import string
string.ascii_letters   #列出a-z的大小写
string.ascii_lowercase  #列出a-z的小写

把a-z变成列表:
>>>a=string.ascii_letters
>>>a.split()
>>>['abcdefghijklmnopqrstuvwxyz……']


>>>a="a \nb \nc \nd"
>>>a.split()     #把a-z整个字符串变成列表。默认是把空格,换行都当成分隔符。
>>>['a', 'b', 'c', 'd']


list(a)  #把a-z每一个字符串变成一个列表
>>>a=string.ascii_letters
>>>list(a)
>>>['a', 'b', 'c', 'd', 'e', 'f', 'g']

''.join(a)     #把列表或字符串的每个元素以空拼接起来,变成一个字符串。
'-'.join(a)    #以-号把a里的字符串拼接起来。


str(a)      #把列表里的多个字符串拼接成一个字符串,此处不适合把列表变成字符串,有特殊用法,下面介绍。
type(a)      #查看a是列表还是字符串
  
type(str(4))    #把数字类型int变成字符串string,把数字变成字符串是因为写入文件的时候是不允许把int写入文件的。    
f.writelines(a)  #把列表写入文件中。
del a[6:11]    #删除列表6-10行。


-------------------------------python元组---------------------------------
元组的特点:不可修改,不可写,只能读。 
tuple(a)  #把一个列表变成元组。
list(d)   #把一个元组变成列表。
--------------------------------------------------------------------------------
a.isdigit()  #判断是否为数字,是则为true,否则为false
a.isalpha()  #判断是否为字符串,是则为true,否则为false
sys.exit(‘goodbye!’)  #正常退出


-------------------------python字典------------------------
一个key对应一个值:
dictname ={
        "key1" : "value1",
        "key2" : "value2"
}
-------------------------------------------------------
一直key对应一个列表:
contacts ={
        "darren"    :    ['man','it','15621008081'],
        "wang"      :    ['man','engineer','110' ]
}
------------------------------
print contacts['wang']     #打印出字典contact中key为wang的列表。
contacts['wang'][1]='kings'   #把字典中key为wang的列表种,元素1改为kings
print contacts['wang']           
contacts['wang']=['woman','linux','110']   #把key对应的列表下所有的值都改变       
contacts.has_key('wang')   #查看是否有wang这个key。


contacts.items()          #列出字典,变成一个列表,然后列每个列表下面每个key又有一个元组。
-----------------------------------
for x,y contacts.items():             #把字典里的内容,每行打印出来。x为key,y为key对应的值。
    print x,y
------------------------------------
for i in contacts:                     #把字典里的内容打印出,和上面那种方式类似。
print i,contact[i]

a.get('sex')           #获取一个key,有值就输入,没有不会报错。
a.keys()                #只打印key
a.pop('age')         #删除一个key
a['sex'] ='man'      #添加一个key对应的值,如果key已存在则会覆盖值。
a.setdefault('haha','it')          #添加一个key和值,如haha有数据则不改变,如没有,则添加。
a.update(b)          #把b字典里的数据,融合到a的字典里。
a.values()             #不重要,主要是查看统一状态下的数据占比。
a.copy()                # b=a.copy()     b拷贝了a的内容。
a.clear()            #清空字典a
del  a                     #删除字典a    
help (b.values())   #查看帮助的用法。

a='stu110
a.find('s')     #查找a中是否有s,有的话列出元素位置,没有的话为-1
######################################################
query=raw_input('pelase input your query:')
for k,v in test_dict.items():         #查看字典的key和values                  
index = k.find(query)               #查找key中是否存在用户要查询的元素,有的话把元素下标赋值给index
print k[:index] + '\033[32;1m%s\033[0m' % query + k[index + len(query):],v               #
                match_counter +=1              #match自增1

 
key=key[:index]+query+key[index+len(qury):]

k = [a b c d e f]
k[:2]   #列表中取0元素到‘’两个值‘’
k[2:]   #列表中取第2个元素到最后值

例子:
import string
for i in string.lowercase:
    print string.lowercase.index(i)
    print i
----------------------------------
for i,v in enumerate(string.lowercase):
    print i,v          
#x效果和上面一样,是枚举的作用,让取得值有下标。 

------------------------
字典是无序的,也不能排序,现在要用一个参数来让字典排序。
a={4:'b',2:'a',9:'2',8:'d'}
a.items()      #把字典变成一个列表,列表下是一个元组。
[(8, 'd'), (9, '2'), (2, 'a'), (4, 'b')]
sorted(a.items(),key=lambda x:x[0])   #把元组赋给lambda,lamdba取列表的第一个元素排序。


-------------------------python集合------------------------

集合最重要的特点就是去重,但是没有下标。
a=[1,2,3,4,5,6,7,8,9]
b=[1,2,3,4,11]
set(a)        #把列表a变成集合
set(b)        #把列表b变成集合

a & b         #交集,a和b都有的值
a | b          #求合集,a有的和b有的全部合在一起,但是会去掉重复的。
a -
a.difference(b)         #a中有的,b中没有的
b.difference(a)         #b中有的,a中没有的
a-b        #在a中,不在b中
b-a        #在b中,不在a中
a ^ b     #把a和b不共有的列出来

a.add('x')        #添加一个数值,如果有则不会添加,
a.update([10,11,12])        #添加一个列表
len(a)              #查看集合的长度
50 in a            #测试50是否在a中,在则返回true,不在则false
a.issubset(b)         #测试是否b中的每一个元素都在a中
a >=b
a<=b                      #测试是否a中的每一个元素都在b中。
hash('s')                 #返回s的hash值

拉链zip:
a=[1,2,3,4,5]
b=[6,7,8,9,10]
zip(a,b)        #把两个列表组合起来
[(1, 6), (2, 7), (3, 8), (4, 9), (5, 10)]

map(None, a,b)            #如果不对称则显示为none
[(1, 6), (2, 7), (3, 8), (4, 9), (5, 10), (0, None)]    


-------------------------python迭代器------------------------

a=['1','2','3']
b=iter(a)
b.next()       #一次只读一行,一直往下读,直到报错。