找回密码
 立即注册

推荐阅读

  • 便民服务
  • 关注我们
  • 社区新手
# 第4讲   python中的数据结构

# 1、python中的数据类型
# 整型int  字符串str 列表list 元组tuple  集合set 字典 dict 布尔值 (真假)

# 2、python 中的索引
# str1 = 'python'      #定义一个变量str1 ,把python字符串赋值给str1
# 正向索引  0   1  2  3  4  5    是从0开始  从左往右
#           p   y  t  h  o  n
# 负向索引    -6  -5 -4 -3 -2 -1    从-1开始   从右往左
#              p   y  t  h  o  n

# 1)正向索引取值
# print(str1[0])         #打印结果 p
# print(str1[3])         #打印结果 h
# print(str1[5])         #打印结果 n
# print(str1[6])         #IndexError: string index out of range

# 2)负向索引取值
# print(str1[-1])        #打印结果 n
# print(str1[-4])         #打印结果 t
# print(str1[-7])         #IndexError: string index out of range

# python 中的切片
# 切片的语法:[start_index : end_index : step]
# 解释说明:start_index表示起始索引 end_index表示结束索引
# step表示步长,步长不能为0,且默认值为1
# 注意:切片操作是指按照步长,截取从起始索引到结束索引,但不包含结束索引
# (也就是结束索引减1)的所有元素。
# 解释:
# 1)包含开始索引,不包含结束索引
# 2)step如果不写默认是1,step如果是整数,则从左往右取数,step如果为负数,则从右往左
# 3)step为1是挨个取,为2则是隔一个取一个,step为3,就是隔两个取一个
# 4)开始索引和结束索引如果没有值,则可以是开始也可以是结尾,取决于step大的值是正数还是负数


# str1 = 'python'
# print(str1[1:3])        #yt (step默认是1,从左往右取值,结束索引减一)
# print(str1[2:5])        #tho(step默认是1,从左往右取值,结束索引减一)
# print(str1[1:6])        #ython(step默认是1,从左往右取值,结束索引减一)
# print(str1[:4])         #pyth(没有开始索引,step是正数,从左往右取数,开始全部取完,结束索引减一)
# print(str1[1:])         #ython(没有结束索引,step是正数,从左往右,结束全部取完)
# print(str1[1:5:2])      #yh(先找1:5的索引值,然后隔一个取一个)
# print(str1[-1:-5])      #打印为空(step是正数,从左往右取数,-5都取不到)
# print(str1[-1:-5:-1])   #noht(step是负数,从右往左取数)
# print(str1[-5:-1])      #ytho
# print(str1[-5:-1:-1])     #打印为空
# print(str1[::])           #python
# print(str1[::-1])         #nohtyp  【字符串的反转 重要】

# 3、python 中的字符串函数
# 函数:表示每个输入值对应唯一输出的值的一种关系
# 1)capitalize():首字符大写  是一个函数
# str1 = 'python'
# str2 = 'hello_python'
# print(str1.capitalize())        #结果Python  可以使首字母大写
# print(str1.title())             #Python   title()也是一个函数,首字母大写
# print(str2.title())             #Hello_Python  可以使连接的首字符也大写

# 2)count():统计具体字符出现的次数
# str1 = 'hellopython'
# print(str1.count('h'))       #结果 2   统计字母出现的次数

# 3)join():把集合中的字符按自定义的分隔符连接在一起
# str1 = 'python'
# print('*'.join(str1))       #结果p*y*t*h*o*n   用*分隔符连接python这个字符串

# 4)split():把字符串通过指定标识符进行分割
# str1 = 'python'
# print(str1.split('*'))    #结果['python']  指定的分割符*不在python字符串中则返回一个列表
#                           # 这个字符串作为这个列表的元素
# print(str1.split('h'))    #['pyt', 'on'] 指定的分割符h在字符串中则返回一个列表,且把这个分割符
                         # 去掉,变成列表多个元素值

# 练习题:
# 通过所学的知识把hello_python 转化为HelloPython
# str1 = 'hello_python'
# s = str1.title().split('_')     #是一个列表['hello','python']
# # print(s[0]+s[1])      #HelloPython
# for i in s:
#     print(i,end="")        #end =""  不换行

# 5)strip(ab):删除字符串开头和结尾有a或b的字符
# str1 = 'abcdeabfgab'
# str2 = 'bacdeabfgab'
# print(str1.strip('ab'))       #结果cdeabfg
# print(str2.strip('ba'))       #cdeabfg


# 6)lstrip(ab):删除字符串开头有ab序列字符
# str1 = 'abcdeabfgab'
# print(str1.lstrip('ab'))       #cdeabfgab

# 7)rstrip(ab):删除字符串结尾有ab序列字符
# str1 = 'abcdeabfgab'
# print(str1.rstrip('ab'))      #abcdeabfg


# 8)startswith():判断字符串是否以什么开始
# str1 = 'python'
# print(str1.startswith('p'))     #True
# print(str1.startswith('o'))     #False

# 9)endswith():判断字符串是否以什么结束
# print(str1.endswith('n'))      #True
#
# name = input('请输入你要上传的文件:')
# if name.endswith('.txt'):
#     print('上传成功')
# else:
#     print('上传失败')

# 10)find()/rfind():字符串查询find()是左边开始查,rfind()从右边开始查,
# 结果 显示下标
# str1 = 'python'
# str2 = 'abcabc'
# print(str1.find('y'))      #索引为1
# print(str1.rfind('n'))     #索引为5    一般是正索引
# print(str2.rfind('c'))     #索引为5    一般是正索引

# 11)replace():replace(substring,newstring,max) substring表示被替换的字
# 符串,newstring要替换字符串,max表示替换的次数
# str1 = 'abcdabcd'
# print(str1.replace('a','t'))     #tbcdtbcd  如果没有次数默认全部替换,把a字符替换成t字符
# print(str1.replace('a','t',1))   #tbcdabcd  这里把a字符替换成t字符,替换一次


# 12)lower():方法转换字符串中所有大写字符为小写
# str1 = 'PYTHON'
# str2 = 'Python'
# print(str1.lower())        #python
# print(str2.lower())        #python

# 13、upper():将字符串中的所有小写字符转换为大写字母输出
# str1 = 'python'
# str2 = 'Python'
# print(str1.upper())        #PYTHON
# print(str2.upper())        #PYTHON

# 14)isdigit():判断字符串中是否全为数字
# str1 = '12345'
# str2 = 'abc123'
# print(str1.isdigit())       #True
# print(str2.isdigit())       #False

# 15)isalpha():判断字符串中是否全为字母
# str1 = 'python'
# str2 = 'abc123'
# print(str1.isalpha())      #True
# print(str2.isalpha())      #False

# 16)isalnum():判断字符串当中是否全都为数字,全为字母,或者数字字母组合 返回布尔值:
# True和False 如果有特殊符号就是否
# str1 = 'python'
# str2 = 'abc123'
# str3 = '1234'
# str4 = '123@'
# print(str1.isalnum())      ##True
# print(str2.isalnum())      #True
# print(str3.isalnum())      #True
# print(str4.isalnum())     #False

# 17)istitle():判断字符串中首字母是否为大写,其他是否为小写,其他不为小写则为否
# str1 = 'Python'
# str2 = 'pYthon'
# str3 = 'PYTHON'
# print(str1.istitle())     #True
# print(str2.istitle())     #False
# print(str3.istitle())     #False

# 18)isupper()/islower():is开头的就是判断一个字符串是否展示为都是大写或者都是小写
# str1 = 'PYTHON'
# str2 = 'python'
# str3 = 'Python'
# print(str1.isupper())    #True
# print(str3.isupper())   #False

# print(str2.islower())    #True
# print(str3.islower())     #False


# 4、python 中的列表   用 list = []
# 1)定义一个列表一般使用list表示  []
# list1 = ['dcs','多测师',88,'test']
# print(list1)        #['dcs', '多测师', 88, 'test']
# print(type(list1))     #<class 'list'>

# 2)定义列表的第二种方法
# str1 = 'duoceshi'      #定义一个变量为字符串
# list1 = list(str1)      #通过list方法把str1转化为列表
# print(list1)        #['d', 'u', 'o', 'c', 'e', 's', 'h', 'i']

# 列表中的函数
# 1)索引赋值
# str1 = 'duoceshi'      #定义一个变量为字符串
# list1 = list(str1)
# # print(list1)        #['d', 'u', 'o', 'c', 'e', 's', 'h', 'i']
# list1[2]= 'dcs'     #把列表中索引为2的值替换为dcs
# print(list1)         #['d', 'u', 'dcs', 'c', 'e', 's', 'h', 'i']

# 2)切片赋值
# str1 = 'duoceshi'      #定义一个变量为字符串
# list1 = list(str1)
# # print(list1)        #['d', 'u', 'o', 'c', 'e', 's', 'h', 'i']
# list1[2:] = 'dcs'     #把列表索引为2的后面的所有值替换为dcs   赋值
# print(list1)           #['d', 'u', 'd', 'c', 's']

# 3)append函数:添加一个元素(任意数据类型都可以添加)
# list1 = ['dcs','多测师',88,'test']
# list1.append('666')      #往list1这个列表中添加一个元素666,默认添加到后面
# print(list1)      #['dcs', '多测师', 88, 'test', '666']

# 4)extend函数:连接两个列表
# list1 = ['dcs','多测师',88,'test']
# list2 = ['111','222']
# list3 = '123'
# list4 = 123
# # list1.extend(list2)    #拼接两个列表  把list1和list2拼接在一起
# # print(list1)           #['dcs', '多测师', 88, 'test', '111', '222']
# # list1.extend(list3)     #['dcs', '多测师', 88, 'test', '1', '2', '3']
# list1.extend(list4)       #extend 可以拼接列表和字符串,不能拼接整型
# print(list1)

# 注意:
# extend与append方法的相似之处在于都是将新接收到参数放置到已有列表的后面
# append方法可以接收任意数据类型的参数,并且追加到list尾部
# extend方法一般和列表还有字符串进行拼接。不能和整型拼接


# 5)insert(index,value)函数:在指定位置插入一条数据
# list1 = ['dcs', '多测师', 88, 'test']
# list1.insert(1,'1234')
# print(list1)        #['dcs', '1234', '多测师', 88, 'test']


# 6)remove函数:移除元素
# list1 = ['dcs', '多测师', 88, 'test']
# list1.remove(88)
# print(list1)      #['dcs', '多测师', 'test']

# list2  = [1,2,3,4,2,4]
# list2.remove(2)
# print(list2)      #[1, 3, 4, 2, 4]  相同元素只会删除第一个

# 7)索引删除值 del
# list1 = ['dcs', '多测师', 88, 'test']
# del list1[1]    #删除索引为1的值
# print(list1)       #['dcs', 88, 'test']

# 8)sort函数:实现列表的升序排列
# list1 = [1,4,2,6,7,8,3]
# list2 = [1,2,6,7,3,4,'a','b']
# list3 = ['a','A','B','c']
# list1.sort()
# print(list1)    #[1, 2, 3, 4, 6, 7, 8]
# list2.sort()
# print(list2)    #整型和字符串不能一起排序
# list3.sort()
# print(list3)      #['A', 'B', 'a', 'c']  如果列表中都是字符串通过ASCII进行排序


# 9)sorted函数:实现降序排列
# list1 = [1,5,3,7,2]
# list2 = ['dcs', '多测师', 88, 'test']
# print(sorted(list1,reverse=True))      #[7, 5, 3, 2, 1]
# print(sorted(list1,reverse=False))     #[1, 2, 3, 5, 7]
# print(sorted(list2,reverse=False))     #报错 整型和字符串不能一起排序

分享至 : QQ空间
收藏

0 个回复

您需要登录后才可以回帖 登录 | 立即注册