python学习(5)- 集合和字符串

182 阅读1分钟

1.集合

#集合 set 一个没有重复元素的数据结构  没有顺序
#
# 集合  可变    无序
# 字典  可变    无序
# 列表  可变    有顺序
# 元组  不可变  有顺序

s = set({}) # s = {}是字典类型  空集合
print(type(s))

#增加
s.add(1)
s.add(1)
s.add(2)

#合并
s.update([6,7]) #{1, 2, 6, 7} update 仅支持添加  list、元组,集合,字典

print(s) #{1}   没有重复元素

#删除
s.pop()  #随机删除
s.remove(2)   #根据值来删
s.discard(8) #删除不含的元素时  不报错
# s.clear()   清空集合
print(s)

print(len(s))

#判断元素是否存在
print(1 in s)


s1 = {1,2,3,4}
s2 = {4,2,6,7,8}
print(s1 & s2) #交集
print(s1 | s2) #并集
print(s1 - s2) #差集

#列表去重
l = [1,1,2,3,54,3,2,1]
print(list(set(l))) #先转集合再转回列表

2.字符串

s = 'laowang'

#字符出现次数
print(s.count('a'))

#替换
print(s.replace('a','o',1)) #将字符串a 替换成 o  第三个参数为替换的个数(默认全部)

#分割
print(s.split('a'))  #['l', 'ow', 'ng']

#判断开头字符
print(s.startswith('l')) #True
print(s.startswith('a')) #False

print(s.endswith('a')) #False

#去掉两头的空格
s1 = '\n laozhan g aa'
print(s1)
print(s1.strip())
#增加 两端字符串 可去除
print(s1.strip('a'))

#插入
print('-'.join(s))

#查找第一次出现字符的 索引值  -1为找不到
print(s.find('a'))
print(s.index('a')) # 报错 为找不到


#原始字符串  不用使用转义符了
str = r"长沙是是\new测试字符串换不换大道sad按时"  #长沙是是\new测试字符串换不换大道sad按时
print(str)


# 打印  '
s2 = 'I\'m python'
print(s2)

# 打印  \   前面加 r
s2 = r'I\'m python'
print(s2)