python的学习 按照数据类型及其操作
三大结构 顺序结构 选择结构 循环结构
数据类型可以简单的分为 字符型和 数字类型 ,初次之外还有相关的数据容器list,dict,元组
大致内容如图所示:
本篇文章只介绍 list和字符串
下面是关于 list的相关函数
#列表操作文件
'''
列表:一系列元素的集合。
#listc=['aa1','aa2','aa3']
特征:
1.每一个元素都有一个下标,从0开始,不断增加,最多只来到列表长度。
切片
c=母列表[下标1:下标2] 把母列表中的一部分元素转化为新列表中的元素。
'''
''' 01
增加:append insert
末位 任意位置
删除:del
10'''
#len
#c=len(列表名) 获取列表中元素的个数。
strc=["dw1","dw2","de3"]
c=len(strc)
print(c) #结果:3
#append
# 列表.append() 列表末尾添加元素,返回到原本的列表。
lists=['a','七度分析','c','d']
c="fefe"
lists.append(c)
print(lists)
#insert
#列表.insert(插入位置,插入元素) 在列表的任意位置插入元素。
lists=['a','b','c','七度分析']
c="fefe"
lists.insert(21,c) #如果插入位置大于列表最大元素下标,那么就插入到最后。
print(lists)
#del
#del 列表名[要删除的元素的下标]
lists=['a','b','七度分析','d']
del lists[3] #超过元素最大值的时候,程序会异常。
print(lists)
#pop
#c=列表名.pop(元素下标) 弹出元素任意位置的元素,不填充的时候默认是最后一个元素。
lists=['a','b','c','d']
for i in lists:
print(c)
lists.pop()
#remove
#
lists=['a','b','cd小红帽','d']
lists.remove("a")
print(lists) #['b', 'cd小红帽', 'd']
#reverse
# 列表名.reverse() 反向列表中元素
lists=['a','b','cd小红帽','d']
lists.reverse()
print(lists) #['d', 'cd小红帽', 'b', 'a']
#for
#for s in lists:
# 循环体。
#range
#c=range(开始下标1,开始下标2) 必须要在循环中使用。 输出下标1到下标2的数值,个数是:
for c in range(2,5): # n-1
print(c)
#list(range(n,m))
#listc=list(range(n,m)) 从n到m-1.
numbers = list(range(1,6)) #列表中获得一个对象,使用range获得一个数字列表。
print(numbers)
#数字列表操作。
'''
最小 最大 总和
min max sum
'''
#min
#c=min(列表名) 找出列表中最小的数字。
listc=list(range(2,6))
c=min(listc) # max sum是同样的操作。
print(c)
#学习列表解析,这是我需要的知识。
#增删查改 统计 计算机四大法
'''
#作者: 广都
#qq: 1975767630
微信: wo15985300747
列表操作包含以下函数:
2、len(list):列表元素个数
3、max(list):返回列表元素最大值
4、min(list):返回列表元素最小值
5、list(seq):将元组转换为列表
列表操作包含以下方法:
1、list.append(obj):在列表末尾添加新的对象
2、list.count(obj):统计某个元素在列表中出现的次数
3、list.extend(seq):在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
5、list.insert(index, obj):将对象插入列表
6、list.pop(obj=list[-1]):移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
7、list.remove(obj):移除列表中某个值的第一个匹配项
8、list.reverse():反向列表中元素
9、list.sort([func]):对原列表进行排序
'''
#list
#c=list(元组名) 将元组转化为列表
c1=("defe","efe","fefe")
print(list(c1))
#extend
# 填充列表.extend(在填充列表后面追加的列表) 把一个列表追加到另一个列表。
b = [1,3,5]
c = [1,2,3,-1]
c.extend(b)
print(c)
#clear
# 列表名.clear() 清空列表
c = [1,2,3,-1]
c.clear()
print(c) #[]
#copy
#listc=列表名.copy() 复制列表
c = [1,2,3,-1]
listc=c.copy()
print(listc) #[1, 2, 3, -1]
print(c[2])
#列表转化为字符串
list1=['happy',1,6,'sad']
list1=list(map(str,list1))
list1=' '.join(list1)
print(list1)
字符串操作
'''
我到底要做什么,观察什么,了解什么?
基础的类型是什么:
变量,数字,字符串,字典,语句,类,循环,用户数输入,函数,文件读取。
基础概念,对象的特性,操作对象的特性,对象的用途,对象和其它对象的关系。
#帮助,在人格为上添加和别人的交互信息,不断地帮助别人做事情。
#安装的python解释器是text3。
操作基础知识:
ctrl+s是保存当前文件。
ctrl+b是运行,
ctrl+n是新建一个文件。
ctrl+a是全选文件内容。
ctrl+x是剪切文件内容,一般是先全选再剪切。
ctrl+c是复制选中的内容。
ctrl+v是粘贴。
一般的操作流程是:
ctrl+a ctrl+c ctrl+v 然后运行, ctrl+b
另一种是鼠标选中一部分内容,然后 ctrl+c ctrl+v
现在,我们新建一个文件,在文件中输入一下的一条语句print("你好,世界")
如果能在下面的地方出现,你好,世界,那么就是说程序运行正常。
现在来关注我们的第一个对象:字符串。
我们的目标是:
1.了解字符串是什么?
2.字符串是由那些东西构成,字符串本身有那些特点,
3.然后我们观察字符串的操作有那些。
4.了解完毕以后,要观察字符串可以用在那些地方。
现在我们来开始的了解。
什么是变量?
变量命名的时候需要注意什么?
变量的结构: 变量名='变量的内容。'
变量是先命名,再使用。
k=" xiaord dwe dew "
print(k.rstrip()) #去除字符串有意义字符背后的空格。 暂时的,如果要永久删除,必须复制给原本的内容。
str() #把类型转化为字符串类型。
规则,类型一样的才能进行操作。
增删查改
str1= "hello nihao qw itheima and 1244 world and wer"
#replace() 把and替换成lcq, replace有返回值,返回值是修改后的字符串
new_str = str1.replace('and','lcq',3)
print(str1)
print(new_str)
str1= "hello nihao qw itheima and 1244 world and wer"
print(str1.find("and")) #输出的结果是23,第一个and开始的下标
print(str1.find("and",24,60)) #输出结果是68,第二and开始的下标
print(str1.find('ands')) #输出-1,str1中没有ands。返回-1
str1= "hello nihao qw itheima and 1244 world and wer"
list1 = str1.split('and')
print(list1)
str1= "aa bb dd cc"
print(str1.startswith('aa ')) #返回true
关注语句,关注函数,关注内容,观察对应的操作。
函数结构:
函数名 函数作用 函数结构 函数输入输出值。 示例,每个函数中间都必须用扩展起来作为一个整体。
还要表明。
下面是一个典型的案例。
#count
#c=母串.count(字串) #返回某个字串在字符串中出现的次数。
str1= "aa bb dd cc"
c=str1.count("a")
print(c) #返回true
'''
###字符串处理专门的区域。
'''
查找
'''
#查找专区 find index count
#find--左开始 rfind--右开始 功能相同,查找方向相反。
#c=strl.find(字串,开始下标,结束下标)
#1返回下标区间内的第一个字符串的开始位置。 2. 没有输出-1
str1= "hello nihao qw itheima and 1244 world and wer"
k="ands"
c=str1.find(k,24,64)
if (c==-1):
print("do not find",k,c)
#index--左开始 rindex--右开始 功能相同,查找方向相反。
#c=strl.index(字串,开始下标,结束下标)
#1返回下标区间内的第一个字符串的开始位置。 2.返回异常。
str1= "aa bb dd2 cc"
c=str1.index("2",1,20)
print(c) #返回true
#count
#c=母串.count(字串) #返回某个字串在字符串中出现的次数。
str1= "aa bb dd cc"
c=str1.count("a")
print(c) #返回true
#修改专区 replace split jion
#replace
#c=母串.replace(旧字串,新字串,替换次数) 取值0到n,把一个字串替换为一个新的字串。
str1= "aa bb dd2 cc" #备注,修改以后是修改后的字符串,但是没有改变原有字符串。
c=str1.replace("aa","吃瓜群众",3)
print("七度分析-relace:"+c) #返回true
#split
#c=母串.split("查找的字符串",查找次数) 返回值:一个列表。
str1= "吃瓜群众,在线吃瓜,快乐。"
listc = str1.split('吃瓜')
print(listc)
#这里有问题,记得关注一下。
#jion
#c=字串.jion(列表) 返回一个大数据
names = ['ggg','rrr','www']
print('*'.join(names)) #将列表转换为字符串,‘’里面是以什么味分割
#大小写转换
'''
首字母大写 字符串中单词首字母大写 全部小写 全部大写 小写变大写,大写变小写
capitalize title lower或casefold() upper swapcase
'''
#capitalize
#c=母串.capitalize() #将字符串首字母大写,其它小写。
str1= "aa bb dd cc"
c=str1.capitalize()
print(c) #返回Aa bb dd cc
#title
#c=母串.title() #将字符串中每个单词的首字母大写,其它小写。
str1= "aa bb ddFFFG cc"
c=str1.title()
print(c) #返回Aa bb dd cc
#lower
#c=母串.lower() #将字符串全部小写。
str1= "aA bA dd cc"
c=str1.lower()
print(c) #返回aa ba dd cc
#casefold
#c=母串.casefold() #将字符串全部小写。
str1= "aA bA dd cZZZc"
c=str1.casefold()
print(c) #返回aa ba dd cc
#upper
#c=母串.upper() #将字符串全部大写。
str1= "aA bA dd cc"
c=str1.upper()
print(c) #返回AA BA DD CC
#swapcase
#c=母串.swapcase() #将母串的小写变大写,大写变小写
strc="aa BBB Aqz"
c=strc.swapcase()
print(c)
#结束。
#判断真假,返回的结构是布尔数据类型,ture或false
'''
指定开头 指定结尾
'''
#startswith
#c=母串.startswith(指定开头的字符串) 检查母串开头是否是某个字符串。
str1= "aA bA dd cc"
c=str1.startswith("aA1")
print(c) #返回False
if(c==0): #false是0, ture是1.
print("不存在字符串aA1")
#endswith
#c=母串.endswith(指定开头的字符串,开始下标,结束下标) 检查母串下标区间中是否是某个字符串结尾。
strc= "aA bA dd cc"
c=strc.endswith("aA",0,1) #指定结尾查找不清楚,不懂。
print(c) #返回False
if(c==0): #false是0, ture是1.
print("不存在字符串aA1")
#isupper
#c=母串.isupper() 判断母串是否是大写。
strc="fefQ"
c=strc.isupper()
print(c)
print("fefq")
#islower
#c=母串.islower() 判断母串是否是小写。
strc="fefQ"
c=strc.isupper()
print(c)
print("fefq")
''' 有问题,没办法判断。
#isalnum
#c=母串. isalnum() 判断是否由字母和数字组成
strc="dede1212"
c=strc.isalnnum()
print(c)
'''
#ljust
#c=母串.ljust(填充次数,填充内容/单字符) 左对齐再填充
strc = 'de8ug#foxmail.com'
c=strc.ljust(30,'q')
print(c)
#center
#c=母串.center(次数,"两边符号") 中间对齐,将母串放在一个两边符号构成的字符串中间。
strc="吃瓜群众"
c=strc.center(50,"*")
print(c)
#rjust
#c=母串.rjust(填充次数,填充内容/单字符) 右对齐再填充
strc = 'de8ug#foxmail.com'
c=strc.rjust(30,'q')
print(c)
#format
#c="明文字{取代位置}符串".format(取代位置1=变量名,取代位置1=变量名) 格式化输出,把变量替换到字符串中去。
ss="公众号七度分析" #format 格式化输出,类似于%s,%d
s="网络科学,系统科学"
c='my name is {a},love {b}'.format(a=ss,b=s)
print(c)
#正整数 字母组成 字母和数字
#isdecimal()
# print(num.isdecimal())# 判断是否为正整数,
num = '54356'
print(num.isdigit()) # 判断是否为正整数
print(num.isidentifier())# 判断是否为合法的变量
#isalpha
#c=字符串.isalpha() 判断字符串是否由字母组成
stc="dejfe"
c=stc.isalpha()
print(c)
#isalnum
#c=母串. isalnum() 判断是否由字母和数字组成 只有真假
strc="dede1212"
c=strc.isalnum()
print(c)
#ljust
#c=母串.ljust(填充次数,填充材料) 从左边开始填充次数,不够的右边用填充材料填充。
strc="公号七度分析" #填充材料只能用一个字符大,不能是一个字符串。
c=strc.ljust(20,"&")
print(c)
#zfill
#c=字符串.zfill(填充次数) 默认是用0来填充。
strc= "heLLLlo world"
c=strc.zfill(40)
print(c) # 从左边开始40个字节,不够的左边用0填充,这是默认的,不可更改
''' 001
转化密文的,不能理解。
a = '1234567890'
aa= '!@#$%^&*()'
table = str.maketrans(a,aa) # 组成了一个字典table
aaa = "64678%&^$" #新变量
print(aaa.translate(table)) #这打印出来的结果是,转换字典table里面对应的值
1'''
#strip
#c=母串.strip(子串) 用来去掉母串中开头结尾的字串,不去除中间的字串。
strc='huifihwe Python Is CoolPython'
c=strc.strip('Python') #去掉python(开头和结尾的空格或者字符串去掉)
print(c)
#dir
#dir(py) 查看模块中有那些是可以使用的对象。
s= '公众号:七度分析'
ls = list(s)
ls.pop(1)
ls = ''.join(ls)
print(ls)
#len
#c=len(要测量长度的字符串)
s="hello world!"
c=len(s)
print(c)
#max max
#c=max(任意数量的参数数字) 求解最大值
c=max(2,3,4,5,6,7,6)
print(c)
#min 同。
#pow
#c=pow(底数,指数) 返回指数值
c=pow(8,2.1)
print(c) #78.79
#round
#c=round(一个带小数位的小数,小数位截取控制额)
c=round(1.12345,3)
print(c) #1.123
#类型转换
# bool int float comlex str
print(hex(22))
# 这是单行注释,只注释掉本行。
a=1234567
a=str(a)
b=str(123)
#作者: 广都
#qq: 1975767630
微信: wo15985300747
有需要解答的可以联系我。