1.list
list的操作
#数组---list arraystus = [‘xiaohei‘,‘xiaobai‘,‘xiaolan‘]#计算机取值是从0开始的#0 1 2 3#下标 角标 索引 都是指一个东西#走后一个值可以用-1来表示print(stus[2])#取第三个值print(stus[-1])#取第三个值 #list的增删改查#增#append方法是在list末尾增加,一次只能加一个stus.append(‘ybq‘)print(stus)#insert方法是在指定位置增加stus.insert(0,‘mpp‘)#0是位置print(stus)#如果指定的下标不存在,那么就是在末尾增加stus.insert(9,‘mpp‘)#9是位置,但不存在print(stus) #改stus[0] = ‘ybq‘print(stus) #查print(stus)print(stus[1])print(stus.count(‘ybq‘))#查看某个元素的个数,如果该元素不存在,返回0print(stus.index(‘xiaohei‘))#找到某个元素的下标,如果有多个,返回第一个,如果元素不存在,会报错 #删stus.pop(1)#默认删除最后一个元素,如果指定下标,删除指定的元素print(stus.pop(1))#打印 删除的值print(stus)stus.remove(‘xiaohei‘)#直接写元素,如果有多个元素,只删一个print(stus)del stus[1]#删除指定下标的值stus.clear()#清空整个list #反转liststus.reverse()print(stus)##排序,默认排序是升序stus.sort()stus.sort(reverse=True)#指定reverse=True,就是降序排列print(stus) #多维数组#二维 三维 四维 。。。all_num = [123,456,[789,10,11]]three = all_num = [123,456,[789,10,11,[12,13]]]print(all_num[2][1])#先找外边 再找里边#all_num.extend(three)#把两个list合并到一起print(all_num)
list循环和切片
mun = [1,2,3,4,5,6,7,8,9,10]print(mun[1:6:2])#步长 2的意思是隔两个取一个print(mun[-1:-6:-2])#步长是正数的从左往右取,如果是负数的话,从右往左取,前面的值也必须写负数#切片同样适用于字符串,字符串也有下标title = ‘今天发红包 ‘#空格也算一个字符串print(title[1])print(title[1:3])for t,h in enumerate(title): #enumerate可以同时循环下标和值print(‘%s:%s‘%(t,h))#同时打印下标和值 2.字典操作
#字典是key-vlue形式的d = { ‘name‘:‘ybq‘, ‘age‘:‘20‘, ‘addr‘:‘海淀‘ }#特点:取值方便 速度快print(d[‘name‘])#如果写了不存在的值,会报错print(d.get(‘ag0e‘))#如果写了不存在的值,会返回none,print(d.get(‘ag0e‘,‘dou‘))#如果写了不存在的值,在值后面写上数值,会返回所写数值dou,##字典是无序的#增d[‘shengao‘]=198d.setdefault(‘tizhong‘,130)##改d[‘shengao‘]=198d.setdefault(‘tizhong‘,150)#这种方法不能修改值,只能新增##删除 d.pop(‘shengao‘) print(d) d.popitem()#随机删除一个数值,没啥用,基本上用不到 del d[‘shengao‘]# d.clear()#清空字典 #获取所有key和value print(d.keys()) print(d.values())## if ‘mane‘ in d:#判断字典中是否有此值 pass #字典循环 for i in d: print(i) for k,v in d.items(): print(k,v) print(d.items()) for k in d: #性能最好 print(k,d[k]) #强制类型转换int()str()list()强制转换成list使用res = list(d.items())print(res[0]) 3.元组操作
print(type(a))#查看是什么类型b=(1,2,3,4,5)#元祖也是一个list,只不过是不可变的,无法修改b.count(1) #找个数b.index(1) #返回下标
4.文件读写操作
f = open(‘读写记录.txt‘,‘a+‘,encoding = ‘utf-8‘)f.seek(0)#seek移动指针的时候,只对读好使,对写不好使print(f.read())#读取文件里的全部内容print(f.readline())#只读一行内容print(f.readlines())#读取文件里的全部内容,把文件里的内容放到一个list里面name = [‘ybq‘,‘yb‘]f.write(name)#只能传字符串f.writelines(name)#写的时候传入一个可迭代的对象即可,就是可循环的f.truncate()#清空文件内容f.tell()#查看当前指针位置f.write(‘ybq‘+‘\n‘)#循环for i in f: print(i)f.close() #flie() python2里面的方法#文件打开有三种方式,如果打开的时候没有指定模式,默认是读# 读 r# r+ 读写模式,只要沾上r,文件不存在的时候打开都会报错# 写 w 该模式会清空原有文件内容# w+ 写读模式,只要沾上w,文件内容都会被清空#追加 a#追加读写 a+ 5.字符串方法
#可变变量 list 字典#不可变变量 元祖、字符串 值都是不能修改的 li = [1,1,2,3,4,5,6,7,8,9]li2 = li[:]#深拷贝li2 = li#浅拷贝for i in li: if i%2!=0: li.remove(i)print(li)#在循环list的时候不能删东西,否则会导致下标改变,复制一份可解决该问题#id(li)#查看内存地址print(id(li))print(id(li2)) #字符串方法都不会改变原来的值name = ‘besttest 发财 ‘print(name)print(name.strip()) #默认去掉两边的空格和换行符print(name.strip(‘besttest‘))print(name.lstrip())#去掉左边的空格和换行符print(name.rstrip())#去掉右边的空格和换行符print(name.count(‘t‘))#查找某个字符在字符串里的个数print(name.upper())#把所有的大写字母都变成小写print(name.lower())#把所有的小写字母都变成大写#na = ‘select * from‘print(name.startswith(‘select‘))#判断字符串是以XX开始的#na = ‘1.jpg‘print(name.endswith(‘.jpg‘))#判断字符串是以XX结尾的#f = ‘{name}欢迎光临‘print(f.format(name=‘ybq‘))#格式化#f = ‘{name}欢迎光临‘d = {‘name‘:‘ybq‘}print(f.format_map(d))#字典形式格式化#print(name.replace(‘t‘,‘d‘))#字符串替换,第一个是旧的,第二个是新的print(name.isdigit())#是否是数字print(‘123‘.isdigit())#是否是数字#print(name.isalnum())#是否包含数字或字母print(name.isalpha())#是否是英文字母#print(name.capitalize())#首字符大写print(name.center(50,‘*‘))#字符串放中间,两边用*补齐print(name.find(‘t‘))#找到这个字符,并返回下标,如果不存在的话返回-1print(name.index(‘t‘))#找到这个字符,并返回下标,如果不存在的话报错 st = ‘a,b,c,d,e,f,g‘st_list=st.split(‘,‘)#以逗号分隔字符串,什么都不写,按照空格分隔print(st_list) slist =[‘a‘,‘b‘,‘c‘]sd = ‘,‘.join(slist)#以逗号连接字符串print(sd)
原文地址:https://www.cnblogs.com/hhyds/p/8137175.html
时间: 2024-11-09 00:35:21