python_02列表,字典,IO处理

===文件的数据处理===

文件处理模式

r      以只读模式打开文件(默认模式)

w     以只写模式打开文件

a     以追加模式打开文件

r+b  以读写模式打开文件

w+b 以写读模式打开文件(清空文件再写)

a+b 以追加及读模式打开文件

code:

f = file('test.txt','r')

for line in f.readlines():

    print line,#加逗号可解决换行符的打印问题

f.close()

f = file('test.txt','w')

f.write('aaaa')#会覆盖原文件

f.close()

 

f.closed

f.name

f.seek(n)

f.tell()

f.truncate(n)#截断多少字符

===字符串处理===

s.find(substring,[start[,end]])#可指定范围查找子串,返回索引值,否则返回-1

s.rfind(substring,[start[,end]])#反向查找

s.index(substring,[start[,end]])#同find,只是找不到产生valueError异常

s.rindex(substring,[start[,end]])#同上反向查找

s.count(substring,[start[,end]])#返回找到的子串的个数

 

s.capitalize()

s.lower()

s.upper()

s.swapcase()

 

s.split('')

s.join(list,' ')

 

len(str)

cmp('my test',str)#字符串比较,第一个大返回1

max('abcxyz')#寻找字符串中最大的字符

min('abcxyz')

 

 ===列表处理list===

lst=['wing','28','girl']

lst.insert(index,str)

lst.remove()

lst.append()

lst.count()

lst.index()

lst.extend(list2)   #扩展列表

lst.pop(       #删除最后一个,并返回

lst.reverse( #反转

lst.sort(

---列表切片(顾头不顾尾)

list[2:]   list[2:4]  list[:5]  list[-5:]

list[1::2]  从index1开始,隔一个取一个  list[1::3]从index1开始,隔2个取一个

 

ilist = [i for i in range(len(lst)) if lst[i]==1]

 

===元组tuple===

a=(1,2,3,4)

a.index

a.count

元组tuple只读,不可更改

 

===字典Dict===

--copy

nameDict = {'name':'wing','age':28,'job':'hr','hobby':['sing','dancing','drawing']}

named1 = nameDict  #直接赋值是同指一个内存地址的

 nameDict.copy---浅copy

import copy

copy.copy()---浅copy,只独立第一层,比如字典里的列表还是不独立的

info = copy.deepcopy()---深copy,非常耗空间,完全独立

 

 

 

 ===集合set===

-无序、元素不重复

-关系测试、去重

x= {1,2,3,4,5}

y={4,5,6,7}

x & y --->取交集

x | y --->取合集

x - y  --->取差集

x ^ y --->取对称差集

x.issubset(y)   x是y的子集

x.issuperset(y)  x是否包含y

 

posted @ 2019-02-28 16:34  Vincy_Wang  阅读(264)  评论(0编辑  收藏  举报