3.Python中的数据类型

1 字符串操作

序列:在Python中,序列就是一组按照顺序排列的值【数据集合】

在Python中,存在三种内置的序列类型:

字符串,列表,元组

优点:可以支持索引和切片的操作

特征:第一个正索引为0,指向的是左端,第一个索引为负数的时候,指向的是右端

切片:【高级特性】可以根据下标来获取序列对象的任意[部分]数据

语法结构:[start:end:step] step默认为1

下标会越界,切片不会

1.1 字符串操作常用函数

strip()       #去掉字符串俩边的空格
lstrip()      #去掉左边的空格
rstrip()      #去掉右边的空格
capitalize()) #将首字母变为大写

代码演示:

test='   python    '
print("第一个字符:%s"%test[0])
for item in test:
    print(item,end=' ')
print()
print("首字母变为大写:%s"%test.capitalize()) #将首字母变为大写
print("去掉空格:%s"%test.strip()) #去掉字符串俩边的空格
print("去掉左边的空格:%s"%test.lstrip()) #去掉左边的空格
print("去掉右边的空格:%s"%test.rstrip()) #去掉右边的空格

结果:

扩展部分:

id() #查看内存地址

代码演示:

a=test #将test的内存地址复制给了a
print("test的内存地址为:%d"%id(test))  #id函数来查看变量在内存中的地址
print("a的内存地址为:%d"%id(a))

结果:

1.2 字符串定位常用函数:

find()                #来查找字符在字符串中第几位,返回-1则代表未找到

index()              #跟find功能类似,唯一不同的是它不会带空格,如果找不到会直接报错

startswith()       #判读段是否以某个字符开头,返回值为true或false

endswith()         #判读段是否以某个字符结尾,返回值为true或false

lower()               #此函数将字符串转换为小写

upper()               #此函数将字符串转换为大写

代码演示:

dataStr='I Love China'
print("P在第%d位"%dataStr.find('P')) #find函数,来查找某个字符在字符串中第几位,返回-1代表未找到
print("C在第",dataStr.find('C'),"位")
print(dataStr.index('o'))   #index函数,不会计算空格
print(dataStr.index('w'))   #index函数找不到就会直接报错,find找不到则会报错
print(dataStr.startswith('I')) #判断开头
print(dataStr.endswith('I'))   #判断结尾
print(dataStr.lower()) #转换为小写
print(dataStr.upper())#转换为大写

结果:

可以看到Index函数未找到字符串则会直接报错

1.3 切片操作:

strMsg='hello world'
#slice[start:end:step] 左闭右开
print(strMsg[0]) #输出第一个字符
print(strMsg[2:6]) #输出下标2-5之间的字母
print(strMsg[2:]) #输出第三个字符到最后
print(strMsg[:3]) #输出第一个到第三个字符
print(strMsg[::-1]) #倒序输出

结果:

2 列表操作

list:python当中非常重要的数据结构,是一种有序的数据集合

特点:

(1)支持增删改查

(2)列表中的数据是可以变化的,【数据项可以变化,内存地址不会改变】

(2)用[ ]来表示数据类型,数据项之间用逗号来分割,注意:数据项可以是任何类型的数据

(3)支持索引和切片来进行

2.1 列表的查询操作

代码演示:

listA=['abcd',553,87.658,'canglaoshi',True]
print(len(listA)) #len函数来打印共有几个值
print(listA) #输出完整的列表
print(listA[1:3]) #输出从第二个开始到第三个
print(listA*3) #将列表中的内容输出三次

结果:

2.2 列表的增加操作

append()  #此函数用来追加数据

insert()     #此函数用来插入数据

extend()   #此函数用来扩展数据

代码演示:

listA=['abcd',553,87.658,'canglaoshi',True]
print('追加之前:',listA)
listA.append(['nihao','wocao']) #append()函数,用来追加数据
listA.append(111)
print('追加之后:',listA)  #输出追加之后的列表
listA.insert(1,'tom')    #insert()函数,用来插入数据
print('插入之后:',listA)   #输出插入之后的列表
rsData=list(range(10))
listA.extend(rsData)     #进行追加数据
print(listA)
listA.extend([11,22,33]) #还可以以这种方式插入
print(listA)

结果:

2.3 列表的修改操作

代码演示:

listA=['abcd',553,87.658,'canglaoshi',True]
print('修改之前:',listA)
listA[1]=1.2   #找到下标之后可直接修改
print('修改之后:',listA)

结果:

2.4 列表的删除操作

del list[n]    #删除该索引处的值

remove()    #移除某一个数值,注意:这里的参数是列表里的具体数值

pop()          #移除此下标的数值,这里的参数是索引值

代码演示:

listB=list(range(10,20))
print('输出列表:',listB)
del listB[1]        #将下标为1的数据删除
print('输出删除第二个位置之后的列表:',listB)
del listB[1:5]      #删除下标1-5的数据
print('删除下标1-5之后的数据:',listB)
listB.remove(10)    #移除某一个数值,这里的参数是具体数值
print(listB)
listB.pop(1)        #移除一个数值,这里的参数是索引值
print(listB)

结果:

3 元组

元组:是一种不可变的序列,在创建之后不能做任何的修改,只可做查询操作

(1)不可变,但是可以对元组中的列表进行修改

(2)用()创建元组类型,数据项用逗号来分割

(3)可以是任何类型

(4)当元组中只有一个元素时,要加上逗号,不然解释器会当作整形来现处理

(5)同样支持切片操作

3.1 取值

代码演示:

tupleA=('abcd','1','3.14','tom',[99,88,77])
print(tupleA[3])  #利用下标取值
print(tupleA[2:4])  #取出第二跟第三个值
print(tupleA[-3:-5:-1])  #倒序输出,从右边到左边下标依次为:-1,-2,-3,-4,-5
print(tupleA[::-2])  #隔俩个取一个

结果:

3.2 对元组中的列表元素进行修改

代码演示:

tupleA=('abcd','1','3.14','tom',[99,88,77])
tupleA[4][0]=777    #对元组中的列表进行修改
print(tupleA)

结果:

3.3 元组赋值

要想使元素变为元组类型,必须要加逗号。

代码演示:

tupleB=(111)       #当元组中只有一个数据项的时候,会当作其他类型来处理
print(type(tupleB))

tupleC=('hello',)
print(type(tupleC))  #当元组中只有一个数据项的时候,必须要加上逗号才可以变为元组

结果:

3.4 统计元素

count() #用来统计元组中元素出现次数

代码演示:

tupleD=tuple(range(10))
print(tupleD)
print(tupleD.count(2))  #统计元素出现的次数

结果:

4 字典

 

 

未完待续。。。。。。。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值