day3-list、字典、字符串、文件读取
2018-01-06 19:19 yemeiling 阅读(232) 评论(0) 收藏 举报
list 操作:
1、2种添加方式:
append.('ddd') :在list末尾中添加元素
insert(下标,’value‘):在指定的位置添加元素,如果下标不存在的时候,默认在末尾添加
2、仅有一种修改元素方法:
stus[下标]=’value‘:直接找出下标进行赋值
3、删除元素4中方式
pop(1): 删除小标为1的元素,不传指定下标表示删除最后一个
remove('元素') :删除list中的元素,如果有多个,只删除一个
del stut[下标] :删除指定下标对应的元素
clear() :清空整个list
4、其他常用的方法:
reverse() :反转list中元素的顺序
sort() :对元素进行排序,默认是升序,如果是字符串,则按照字母大小排序
sort(reverse=True): 按照降序
a.extend(b):把b数组中的元素合并到a中
list 的循环和切片:
1、循环list:
names =[1,2,3,4,5,6,7,8]
for name in names:
print(name)
2、切片注意点:
(1)切片,对数组的多个元素进行切片取值
(2)切片是顾头不顾尾的,下标要加1
(3)切片中有步长,表示隔多长取一次值
(4)如果步长是负数的话从右往左取值,那么下标也要反过来写了.从-1开始,否则,取不到值
真假值:
非空即真---只要不是空,就是真的
非0即真---只要不是0,就是真的
字典
1、字典 是key、value形式
2、比list更方便取值、取值速度快
3、字典是无序的
查询的2种方式:
(1)d['key']---如果写了不存在的key,则报错
(2)d.get('key')---不存在的key值时,不会报错,返回None
d.get('key',‘默认’)---不存在的key值时,默认取值为‘’中的值
(3)d.keys()----获取所有的key值
(4)d.values()----获取所有的values
增加的2种方式:
(1)d['key']=XXX-----直接通过赋值给key
(2)d.setdefault('key','value')
修改-只有一种方式:
(1)d['key']=XXX-----直接通过赋值给key,key存在的时候,就修改,不存在则新增
删除:
(1)d.pop('key')--删除某个key对应的值
(2)del d['key']
(3)d.popitem---随机删除某个值
(4)d.clear()---清空字典
判断key或value是否在字典里面:
if ’key‘ in d.keys()---判断key是否在字典里面
if ’value‘ in d.values()---判断value是否在字典里面
循环字典,取值
(1)直接循环字典,打印的是key值
for k in d:
print(k)
(2)同时取到key/value的值,但这种是把key和value值都转成了list二维数组,导致取值速度慢
for k,v in d.items();
print(k,v)
(3)这种方法保留了字典取值快的特性,性能好
for k in d;
print(k,d.get(k))
强制类型转换:
int() #转成int 类型
str() #转成 字符类型
list() #转成list类型
字典的嵌套:
字典中嵌套字典的情况
字典中嵌套list的情况
list中嵌套字典的情况
取值需要注意点:
1、字典是没有下标的,只能根据key来取value
2、list是有下标的,通过下标进行取值
元祖:
1、形式--a(1,2,3,4,5,6)
2、元祖也是list,只是元祖是不可变的,不能修改元祖都值
元祖的2个方法:
a.count('4')---查找值=4的个数有多少个
a.index('5')---返回值对应的下标
可变变量和不可变量变量一旦创建好了就不能修改了):
可变变量:list,字典
不可变变量(:字符串、元祖
字符串的方法都不会改变原来的字符串的值
字符串常用的方法:
strip() 方法:默认是去掉两边的空格和换行符
lstrip() 方法 #默认是去掉左边的空格和换行符
rstrip() 方法 #默认是去掉右边的空格和换行符
count('t')方法:查找某个字符或字符串在字符串中出现的次数
find('t')方法:找到字符串,返回它的下标,如果不存在,则返回-1
index('t') 方法:找到字符串,返回它的下标,如果不存在,则报错
upper() 方法:把所有的字母变成大写
lower()方法:所有的字母变成小写
endwish(‘.xls’)方法:判断字符串是以什么结尾的
startwish(‘’)方法:判断字符串是以什么开头的
format()方式:将字符串格式化
format_map(d):将字符串格式化,传进去的是一个字典
replace('t','y')方法:将字符串替换,将t替换成y
isdigit():判断是否为数字
islower(): 判断是否为小写字母
issupper(): 判断是否为大写字母
split(','): 以 什么进行分割字符串,并保存成list格式
split(): 如果不写,则按照空格进行分割字符串
‘,’.join(d):连接字符串d,通过字符把字符串拼接起来,int类型不能连接起来
文件读写:
f = open('文件','a+',encoding='utf-8') # 打开文件
f.seek(0) # 把文件里的内容移到前面,方便后面的读出来,移动指针,只对读好使,对写不好使
读取文件:
f.read() #读取文件,组成一个字符串
f.readline() # 一次只读一行的内容
f.readlines()# 读取文件中所有内容,把文件里面的每一行的内容放到一个list 中去
写文件:
f.write('bbbbb'+'\n')# 字符串写到文件中去
f.write(names) # 写的时候,只能传入的一个字符串
f.writelines(names) # 写的时候,传入一个可迭代的就行了,比如数组、字典等
f.truncate() #清空文件内容
f.close() # 关闭文件
f.tell() #查看当前文件指针的位置
文件打开有3种方式,读、写、追加
读r、r+方式:
读 r 如果打开文件的时候没有指定模式,则默认只读模式
读写模式 r+,只要沾上r,文件不存在的时候会报错
写 w方式:
只要沾上W,那么就会把原有的文件进行清空覆盖
追加 a
不改变原有的文件内容,在文件中追加内容
当w/a进行写或追加,且后面进行读的时候,是从后面读的,所以,会出现读不出来的情况
浙公网安备 33010602011771号