元组,字符串,集合,文件操作

一、元组:

l = (1,2,3)#它不能改变  元组类型:tuple
l = ['ip','3306','user','password']

print(l[0])
for i in l:
print(i)
l.index('ip') #取下标
l.count('ip') #个数
l2 = (1,)# 定义元组只有一个元素,要加一个逗号,这样才认定为是一个元组
print(type(l2))

二、字符串常用的方法:

s = 'ha.hah.12345asdSD>  '
print(s.count('a'))
print(s.index('a',2))#可以指定一个参数找,从第几个开始找,逗号加数字
print(s[6])#字符串也是可以通过下标取值的,一样也不可以改变,可以循环字符串
# for i in s:#可以循环字符串
# print(s)
print(s.find('h',3)) #也是找下标的,找一个不存在的,不会报错,会报-1
print(s.index('a')) #找一个不存在的,不会报错 ,find 不会报错
print(s.strip()) #默认去掉字符串两边的空格和换行符,如果传了指定的字符串,就去掉指定的字符串
print(s.lstrip())#去掉左边的
print(s.rstrip())#去掉右边的
print(s.startswith('h'))#判断以什么开头 :布尔类型
print(s.endswith('h'))#判断以什么结尾 :布尔类型
print(s.lower())#变成小写
print(s.upper())#变成大写
print(s.islower())#判断是否全部是小写
print(s.isupper())#判断是否全部是大写

s1='1841542'
s = 'marry'
print(s.zfill(6))#用来补0,传的数 ,是位数
print(s.capitalize())#首字母大写
print(s.replace('a','A'))#替换字符串
print(s1.replace(' ',''))#可以替换中间空格,把空格替换为空
print(s1.replace('1','',2))#1 替换一次,2 替换2次
print(s.isdigit())#判断是否是纯数字
s= ' '
print(s.center(50,'*'))#字符串居中 *补齐,第一个参数长度
print(s.isspace())#判断是否返回空格 s= ' '
s = '编号是{},{}'
print(s.format(1,2))#s = '编号是,{},{}' 传值
s1 = '编号是{name},{age}'
print(s1.format(name=1,age=2))#传值
s2 = '编号是{name},{age}'
print(s2.format_map({'name':1,'age':34})) #传字典
print(s.isalpha())#如果是大小写字母,汉字,返回true ,其他的字符串返回false
print(s.isalnum())#多一个数字,其他同上


s= '' #常用的:
print(s.find('h',3))
print(s.count('a'))
print(s.strip())
print(s.startswith('h'))
print(s.endswith('h'))
print(s.lower())#变成小写
print(s.upper())#变成大写
print(s.replace(' ',''))
print(s.replace('1','',2))
s.split()
s = 'liujie,caihongshun,liuxiaoyan'#用逗号分割 #rint(s.join())#链接字符串,把list里的元素连接起来
print(s.split(','))#分割字符串 ,把分割后的数据变为list格式
s1 = 'liu caihong liuxiao'#如果什么都不传默认空格分隔
print(s1.split())
s2 = 'liu.jie.c.liu'
print(s2.split(','))#如果是.来分割的,但是误用了逗号,也不会报错,会把原始的字符串都放在list里

#print(s.join())
l = ['zyb','lj','zxq']#这是一个list,把list用于指定的字符串连接起来,变成字符串
# 目的:想写到文件里面(文件里面只能写字符串,所以要把这个list转换成字符串)
print(','.join(l)) #把list里的每一个元素通过逗号连接起来
print(''.join(l)) #如果不用逗号,用空格,那每个元素就是挨着了

三、切片
#list 取值的一种方式,范围取值
l = list(range(10))#0-9 ,如果写(1,11)就是1-10,不包含最后一位
print(l)
# print(l[0:4])#顾头不顾尾
# print(l[:5])#从第一个开始取 ( :5)
# print(l[5:10])#取到末尾
# print(l[5:])#冒号后面不写代表取到末尾 ,(5:)
# print(l[:]) #取全部
print(l[0:10:3])#step 步长 ,间隔取值
print(l[::3])# 同上。 :前后都不写也可以
print(l[-1:-10:-1])#当步长取负值,前面也要用负数,不然取不到
print(l[::-2])#如果步长是负数,从后往前取 前面指定范围的下标也要写负数

t = (1,2,3,4)
s = 'gfdfdhrs'
print(s[::-1])#元组,列表,带下标的,都可以用切片方式来取值

四、集合

#集合 set :1、集合可以去重;2、集合是无序的
s = {1,2,3,4,5,6,7,7,6,6,1}
l = [1,2,3,4,5,5,5,6,4,3,1] #list循环 ,去重,首先要count统计一下
l1 = list(set(l))

s2 = set()#集合可以循环 for i in s:
s.add(8)#添加元素
s.update({'j','t','g'})#把另外一个集合加入这个集合里面
s.remove(4)#删除指定元素
print(s)

#关系测试:交集,并集,差集,对称差集


l1 = [1,2,3,4]#自动化 ,以往用循环,拿出来学自动化的学生再去和性能里比较
l2 = [2,4,5,6]#性能
l1 = set(l1)
l2 = set(l2)
print(l1 & l2) #取交集
print(l1.intersection(l2)) #同上

print(l1.union(l2))#并集
print(l1 | l2)#并集

print(l1 - l2) #差集 在a集合里存在,在b集合里不存在的;反之
print(l1.difference(l2))#差集

print(l1 ^ l2)#对称差集 a集合里存在的,和b集合里存在的相同的元素去掉
print(l1.symmetric_difference(l2))#对称差集


# l11 = [1,2,3,4]#自动化 ,以往用循环,拿出来学自动化的学生再去和性能里比较
# l22 = [2,4,5,6]
print(l1.issuperset(l2))#判断a集合是不是b集合的父级
print(l2.issubset(l1))#判断a集合是不是b集合的子级


六、判断

#非空即真,非0即真
s = ''#false
l = []#false
d = {}#false
t = ()#false
se = set() #false
num = 1 #ture
num2 = 0 #false
l1 = ['']#true


七、文件操作
#打开一个文件
#读写文件
#关闭文件


f = open(r'C:\Users\刘婕\Desktop\新建文本文档 (2).txt','w',encoding= 'utf-8')#打开的模式 r w a
#result = f.read()#读文件,获取文件全部内容
# result2= f.readline()#读文件,一次只读取一行
# result3= f. readlines()#读取文件里所有内容,返回一个list ,每行的内容是list的一个元素
# print(result2)
# f.close()

# count = 0#读文件
# for line in f:#循环大文件,一次读取一行
# print(line)
# count+= 1
# print(line)

f.write('六合') #写文件 ,会把内容清空
l =['1234\n','56789\n','afhajd']#\n换行符
f.writelines(l)
f.close()

八、布尔类型
 


posted @ 2020-04-26 22:20  刘小小liu  阅读(109)  评论(0编辑  收藏  举报