python的五种标准数据类型:Number、String、List、Tuple和Dictionary。本文的内容主要包含1、String的查找,是否是数字,字母变为大写或变为小写,字符串互换,所有的大小字母和数字和循环输出元素;2、List的查找,添加,修改,删除,统计,合并,排序,多维列表,列表与字符串的相互转化、切片和zip方法;3、Tuple的查找和统计;4、Dictionary的查询,添加,修改,删除,合并和循环遍历。
python对文件的一些操作方法。
一、字符串Sting
s='I love python' print(s.find('o')) # 1、查找 #查找字符串的索引,找到的话返回第一次出现的索引,也可以指定开始和结束;若找不到则返回-1 print(s.isdigit()) # 2、是否是数字 print(s.upper()) #3、字母变为大写 print(s.lower()) #4、字母变为小写 # 5、内容互换 a=123 b=456 a,b=b,a print(a,b) # 6、所有的大小字母和数字,所有的小写字母,所有的大写字母: import string print(string.ascii_letters+string.digits) print(string.ascii_lowercase) print(string.ascii_uppercase) # 7、循环输出元素: for i in s: print('s:',i)
二、列表List
L=['I','love','python']
1、查找
(1)输出python:print(L[2]) 或 print(L[-1])
(2)查找元素的位置:print(L.index('python'))
# 返回元素下标,如果有多个,则返回第一个;若没有则报错;也可以指定查找的开始和结束位置
2、添加元素
(1)末尾添加:L.append('python')
(2)指定位置添加:L.insert(0,'python')
3、修改元素:L[2]='java'
print(L)
4、删除元素
(1)pop方法:L.pop()
print('pop返回值:',L.pop(1))
# 删除元素,默认删最后的,也可指定元素;且只有pop有返回值
(2)remove方法:L.remove('python')
(3)del方法:del L[0]
删除变量:del L
# 该下标必须存在,否则报错
(4)清空列表:L.clear()
5、统计元素出现次数:print(L.count('python'))
6、合并两个列表:B=['hello','world']
print(B+L)
B.extend(L)
print(B)
# 把另一个加到列表,生成一个新的列表 print(stu.extend(name)) # extend没有返回值
7、排序 n=[1,34,567,65,4,5,10]
(1)sort:n.sort()
print(n)
n.sort(reverse=True) 倒序
print(n)
(2)reverse:n.reverse()
print(n)
8、多维列表:list=[1,4,['name'['a','b']]]
print(list[2][1][0]) 输出a
9、列表与字符串的相互转化
列表转字符串:print('*'.join(L))
通过*连接元素(join是通过某个字符串拼接一个可迭代对象的每个元素)
去掉两边空格可用print(string.strip())也可指定需要去掉的字符串
字符串转列表:print(s.split())
# 根据空格分隔字符串,可指定分隔符 print('i love python'.splitlines()) # 按照换行符分隔,可用于文件 # print('qdDEG'.swapcase()) # 大小写反转
10、切片:从列表或字符串中获取一个或多个元素
print(L[0:2])
print(L[:2])
print(L[1:])
注:顾头不顾尾
11、zip方法,合并两个可迭代对象,如:list,两个迭代对象个数要一样,多余的会自动舍弃。
list1=[1,2,3] list2=['xiaoming','xiaohei','xiaobai'] for i,k in zip(list1,list2): print(i,k) #运行结果: 1 xiaoming 2 xiaohei 3 xiaobai
三、元组Tuple
T=(1,2,3,4,5,3,2,1,1,3)
1、查找:print(T[0])
print(T.index(2))
2、统计:print(T.count(1))
# 注:定义元组时,如果元组只有一个元素,那要在元组后面加一个逗号,否则就是一个字符串.a=('hello',)
四、字典dict
D={'name':'xiaoming','sex':'m','age':18,'id':'1'}
1、查询
(1)print(D['name'])
(2)print(D.get('name')) # print(D.get('name','not found')) 若是找不到‘name’数据,就会返回not found
# 两种取值方式的区别:get不到的话不会报错;get方法可多传一个参数,若是找不到key,返回xxx,若不写默认返回None
2、添加修改:D['addr']='shanghai'
# 新增,没有key的话为新增,有的话为修改
3、删除
(1)pop方法:D.pop('sex') 有返回值
(2) 随机删除:D.popitem()
(3)del方法:del D['addr']
(4)清空字典:D.clear()
4、合并
C={'name':'zhangsan','phone':'123456'}
C.update(D)
print(C)
# 把两个字典合并到一起,如果有相同的key,那么更新value
5、判断key是否存在:print('name' in D)
6、循环
(1)for k,v in D.items():
print('%s : %s' %(k,v))
(2)for k in D:
print(k,D[k])
# print(info.keys()) # 获取字典的所有key
# print(info.values()) # 获取该字典所有的value
# print(info.items()) # 获取字典的key和value,循环的时候用
# 循环遍历方法二的效率要高一些
五、文件操作
如果在打开文件的时候,不指定模式,那就是只读模式
在python3里面只能用open打开文件,python2里面也可以用file这个函数去操作文件
文件打开模式有3种
1.w写模式,不能读,先清空文件,再写新内容
w+写读模式,只要沾上w,文件先清空,再写
2.r读模式,不能写,文件必须存在
r+读写模式,只要沾上r,文件必须存在
3.a追加模式,只能写,在文件末尾添加内容
a+追加模式,读写,在文件末尾添加内容
4.rb+、wb+、ab+ 二进制文件读写
1、示例
import os
f=open('a.txt','a+',encoding='utf-8') #f代表的是这个文件的对象,也叫句柄
f.seek(0) #移动文件指针
for line in f: print(line)
f.truncate() #清空文件
f.write('hello,world') #只能写字符串 f.writelines(['123456','aaa']) #可以写列表 f.flush() #刷新文件,写入内容后立即生效显示 exit('bey') #手动退出 time.sleep(5) f.close() #关闭文件
2、with 文件会自动关闭
with open('a.txt','r') as fs:
print(fs.read()) #输出的是字符串
3、更改文件的方法
import os f=open('a.txt','a+') fw=open('a.txt.new','w') for line in f: new_res=line.replace('hello','hi') fw.write(new_res) f.close() fw.close() os.remove('a.txt') os.rename('a.txt.new','a.txt')