<!-- [toc] -->

字符串 ' '

不可变类型

强制类型转化方法 str(数字或变量)

​ int(字符串)

字符串输出

a ='我爱学Python'
print(f'''多行引号c支持f表达式吗?
这是第二行
这是a的值:{a}
下一行结束啦
exit''')
#f表达式 和c# $表达式一模一样

a = int(a)
#强制类型转换

==上面的程序说明多行输出时,支持f表达式,可以带入变量输出! 非常的实用!==

切片

  • a='我爱学Python'
  • a[0:9] 输出:我爱学Python
  • a[开始下标:结束下标+1]。
  • a[0:9:1] 输出:我爱学Python
  • a[0:9:2] 输出:我学yhn
  • a[开始下标:结束下标+1:步长] 步长默认为1
  • a[::-1] 输出:nohtyP学爱我
  • 步长为 -1 时,倒叙输出字符串。
  • a[-7:-2] 输出:学Pyth
  • 都为负数时,从右向左,从-1到-n。

字符串常用方法

  • 查找方法
#查找方法  find
a="我要查找以下字符串'我爱学Python',嗨嗨嗨,第二个字符串'我爱学Python',嗨嗨嗨"
#a.find(查找的串,查询起始位置,查询结束位置)
print(a.find("我爱学python"))#返回 -1 ,因为没找到
print(a.find("我爱学Python"))#返回 10 ,找到了返回的字符串中的起始下表位置
#反向查找  rfind
print(a.rfind("我爱学Python"))#返回 32
#查询出现多少次字串  count
print(a.count('我爱学python'))#返回 0,没查到
print(a.count('我爱学Python'))#返回 2,出现了2次字符串
  • 修改方法
#修改方法  replace
a="我要查找以下字符串'我爱学Python',嗨嗨嗨,第二个字符串'我爱学Python',嗨嗨嗨"
#a.replace(旧串,新串,替换次数)
print(a.replace('我爱学Python','Python'))
#分割方法  split
print(a.split(','))#返回一个列表
#合并方法 只能合并列表
#字符串.join(字符串列表)
a=['字符串1','字符串2','字符串3']
print('*'.join(a))#返回 字符串1*字符串2*字符串3
print(join(a))#报错! 必须拥有一个合并字符串
print(''.join(a)) #可以用空字符代替
  • 补充方法

    • 字符串.strip()去除空格

列表[]

  • 小知识
  • 他是可变类型
  • 强制类型转化方法 list(序列)

列表的定义

vs = [123,456,789]#一个列表 中存的是数字
vs=[]#空列表

列表方法

查找

  1. index()方法 如果不存在则报错
  2. count()方法
vs = [123,456,789]#一个列表 中存的是数字
#查找
vs.index(123)#返回0下标 如果不存在则报错
#查询出现次数
vs.count(123)#返回1
#len测量列表长度
len(vs)#返回3

增加

  1. append() 只能增加一个数据 加在最后
  2. extend() 只能增加一个列表 在最后
  3. insert(pos,val) 指定位置追加数据
#增加列表
vs = [123,456,789]#一个列表 中存的是数字
#只能增加一个数据 加在最后
vs.append(123456)#结果为[123, 456, 789, 123456]
#只能增加一个列表 在最后
vs.extend([1,2,3,4,5])#vs的值为[123, 456, 789, 123456, 1, 2, 3, 4, 5]
#指定位置追加数据 
vs.insert(1,8)#vs的值[123, 8, 456, 789, 123456, 1, 2, 3, 4, 5]

删除

  1. del(vs) 删除整个列表
  2. del(vs[0]) 删除指定值
  3. vs.pop(pos) 删除指定位置并且返回
  4. vs.remove(123) 删除第一个匹配的数据
  5. clear() 清空列表
#删除变量
vs = [123,456,789]#一个列表 中存的是数字
del(vs)#删除整个列表
del(vs[0])#vs 值为 [456, 789]

vs.pop()#删除指定位置的数据,并且返回 修改vs变量
#返回 789 vs值为 [456]

#删除第一个匹配的数据
vs.remove(123) #返回[456,789]

#清空列表
vs.clear()

修改

  1. reverse() 列表倒叙排列
  2. sort() 列表升序排列
  3. sort(reverse=True) 列表降序排列
#修改数据
a=[1,2,3,4,5,6,7]

#指定下标修改
a[0]=999 #a值为 [999, 2, 3, 4, 5, 6, 7]
#将列表倒叙排序
a.reverse()#a值为 [7, 6, 5, 4, 3, 2, 1]

#排序sort
a=[1,6,7,8,9,0,2,5,4,3]
#默认升序
a.sort()#a 值 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
a.sort(reverse=True)#降序 a 值 [9, 8, 7, 6, 5, 4, 3, 2, 1, 0]

列表的连接

lister = ['12','34','354']
strret = ''.join(lister)

列表转元组

使用tuple()转换

a=[1,2,3,4]
a=tuple(a)

元组()

  • 不可变类型
  • 不可以修改数据
  • 只能读
  • 强制类型转换用 tuple(序列)

单个数组的元组定义

a = (1,)
#一定要有一个逗号,不然不是元组类型

查询方法

  • 和列表相同
  • 只有index() 和 count()方法
  • len()方法

元组转列表

a=(1,2,3,4)
a=list(a)

循环 遍历 迭代

For循环

相当于foreach()语句
a=[867,234,678,0,2,4,6]
for i in a:
    print(i)
#依次输出
#867
#234
#678
#0
#2         
#4
#6

条件判断语句

python一定要注意缩进!

    C语言是大括号控制,Python不一样的就是使用缩进。
if 条件:
    语句1
    语句2
elif 条件:
    语句1
    语句2
else:
     语句1
     语句2
     
#三目运算
a = b if a>b else a
#求两数小值
#符合条件值 if 条件 else 不符合的值

字典{Key:values}

  • 可变类型
  • 字典总是成对出现的, 统称 键值对
  • 字典的定义: a = {}
  • 字典的type类型是:dict

    字典={'huawei':33,'xiaomi':44,'ipad':22}#调用方式
    字典['huawei'] #输出33

字典的方法

增加

字典[键]=值
#如果存在 则修改  不存在 则添加

删除

删除用del进行删除

#删除指定值
a={'huawei':1,'xiaomi':2,'ipad':3,'sanxing':4}
del a['ipad']
#删除整个字典
del a
#字典的清空
a.clear()

查询

  • get()方法 查询
  • values()方法 返回字典中的值
  • items()方法 返回的是个元组
  • keys()方法 返回所有键 ‘dict_keys’
#查询 get
a={'huawei':123,'ipad':321,'xiaomi':546}
a.get('huawei',9999) #返回123
#如果不存在 就返回参数2中的任意值

#values()
#返回字典中的值,返回的是个列表 类型是 dict_values

#items()
#返回的是个元组

字典的循环遍历

a={'huawei':123,'ipad':321,'xiaomi':546}
#打印遍历所有字典中的键
for i in a.keys():
    print(i)
    
#打印遍历所有字典中的值
for i in a.values():
    print(i)
    
#打印遍历所有字典中的键值对 元组的形式 
for i in a.items():
    print(i)
    
#打印遍历所有字典中的键值对 键值对的调用形式
#就是临时变量多一个 一个是键 一个是值
for i,j in a.items():
    print(f'{i}={j}')

集合{}

  • 可变类型
  • 集合 字典 都是大括号
  • 空集合 必须用set()的方法定义
  • 类型为set
  • 强制转换方法是set()
  • 特点

    • 没有重复,自动去重
    • 顺序是随机的

集合的方法

  1. add()方法增加新集合,加入数据存在则无视。
  2. update()方法追加数据,可以是列表,集合,加入数据存在则无视。
a={1,2,3,4}
a.add(5)#增加

a.update({1,2,3,4,5,6,7})
a.update([1,2,3,4,5,6,7])
a.update("abc")

  1. remove() #不存在报错
  2. discard() #不存在不报错
  3. pop() #随机删除集合里的数据
a={1,2,3,4}
a.remove(5) #会报错
a.discard(1) #不报错

a.pop()#随机删除一个数据 并且返回删除的数据
#可以这么用
b=a.pop() #删的数据存到b中

  1. 用关键字 in 查询数据在集合中
  2. 用关键字 not in 查询数据不在集合中
a={1,2,3,4}
print(1 in a)
print(5 in a)
print(1 not in a)
print(5 not in a)