#集合和元组
#可变序列可以增删改操作:列表、字典、集合
#不可变序列不可以增删改操作:字符串、元组
str='be a better person,'
print(id(str))
str=str+' this is our agreement'
print(str)
print(id(str))
#元组的创建&元组只有一个元素的创建&空元组
Y1=('I','like','grape','its',5)
Y2='I','like','grape','its',5
Y3=tuple(('I','like','grape','its',5))
Y4=('dilicious',)
Y5=()
Y6=tuple()
print('元组创建',Y1,Y2,Y3)
print('一个元素元组创建',Y4)
print('空元组创建',Y5,Y6)
#元组中有列表,对列表不可改,可添加
t=(10,20,[30,40],50)
t[2].append(100)
print(t)
#元组遍历
for item in t:
print(item)
#集合创建,集合不允许重复
s={1,2,3,4,5,6,6}
print('{}创建集合',s)
s2=set(range(7))
print('set创建集合',s2)
s3=(set([1,2,3,4,5,6]))
print('列表转集合',s3)
s4=(set((1,2,3,4,5,6)))
print('元组转集合',s4)
s5=(set(('best')))
print('字符串转集合',s5)
s6=(set({1,2,3,4,5,6}))
print('字典转集合',s6)
s7=set()
print('空集合',s7)
#集合的判增删改
s={1,2,3,4,5,'one','two','three','four','five'}
print('one' in s)
s.add(6)
s.update({6,'six'})
s.remove(6)
s.discard('six')
s.pop()
print(s)
s.clear()
print(s)
#集合之间的关系
set1={10,20,30,40}
set2=set((30,10,20,40))
set3={10,20,30,40,50,60}
set4={10,20}
print(set1==set2)
print(set1.issubset(set3))
print(set3.issuperset(set1))
print(set3.isdisjoint(set1))
#集合的数据操作
print(set1 & set2)
print(set1.intersection(set2))
print(set1 | set2)
print(set1.union(set2))
print(set1 - set2)
print(set1.difference(set2))
print(set1 ^ set2)
print(set1.symmetric_difference(set2))
#集合生成式.
SET={ i*i for i in range(10)}
print(SET)
#字符串
#字符串的驻留机制
#1、字符串的长度为1或0
#2、符合标识符的字符串
#3、字符串只在编译时驻留,而非运行时
#4.【-5,256】之间的整数数字
s1='abcabc'
s2='abc'+'abc'
s3=''.join(['abc','abc'])
s4='abc%'
s5='abc%'
s6='I like sports.And I also like dance.But I don not like swimming.'
print(s1 is s2)
print(s1 is s3)
#强制驻留
import sys
s4=sys.intern(s5)
print(s4 is s5)
#字符串查询
print(s1.index('a'))
print(s1.rindex('a'))
print(s1.find('a'))
print(s1.rfind('a'))
#字符串大小写转换
a1=s6.upper()
print('全部大写',a1)
a2=s6.lower()
print('全部小写',a2)
a3=s6.title()
print('所有单词第一个首字母大写',a3)
a4=s6.swapcase()
print('原本大写变小写,原本小写变大写',a4)
a5=s6.capitalize()
print('首个字母大写,其余小写',a5)
#字符串对齐
b1=s6.ljust(100,'*')
b2=s6.rjust(100,'*')
b3=s6.zfill(50)
b4=s6.center(100,'*')
print('左对齐',b1)
print('右对齐',b2)
print('右对齐',b3)
print('居中',b4)
#字符串劈分
list1=s6.split()
print(list1)
list4=s6.rsplit()
print(list4)
list2=s6.split(sep='.')
print(list2)
list5=s6.rsplit(sep='.')
print(list5)
list3=s6.split(sep='.',maxsplit=1)
print(list3)
list6=s6.rsplit(sep='.',maxsplit=1)
print(list6)
#字符串判断相关方法
#合法标识符只有字母、数字、下划线
print('s6是否是标识符',s6.isidentifier())
print('abc是否全部由字母组成','abc'.isalpha())
print('123abc是否全部由数字和字母组成','123abc'.isalnum())
print('123是否全部由十进制数组成','123'.isdecimal())
print('123是否全部数字组成','123'.isnumeric())
#字符串替换与合并
print(s6.replace('I','She'))
LIST=['Me','too']
print('|'.join(LIST))
#字符串比较
#原理:原始值
print('apple'>'app')
print('apple'>'banana')
print(ord('a'))
print(ord('b'))
print(chr(97),chr(98))
#字符串切片操作
print(s6[1:9:2])
print(s6[1:19:3])
#格式化字符串
name='柠柠'
age=1
print('我叫%s,今年%d岁' % (name,age))
print('我叫{0},今年{1}岁'.format(name,age))
print(f'我叫{name},今年{age}岁')
print('%10d' % 100)
print('%.3f' % 3.14159)
print('%10.3f' % 3.14159)
print('{0:.3}'.format(3.14159))
print('{0:10.3f}'.format(3.14159))
#字符串编码解码
word='我爱学习'
print(word.encode(encoding='GBK'))
print(word.encode(encoding='UTF-8'))
byte1=word.encode(encoding='GBK')
print(byte1.decode(encoding='GBK'))
byte2=word.encode(encoding='UTF-8')
print(byte2.decode(encoding='UTF-8'))
标签:day9,Python,s6,元组,字符串,set1,set2,print
From: https://blog.51cto.com/u_16080683/7495858