Python学习—(2)Python高级数据类型

高级数据类型

1.常用字符串操作

(1)首字母大写

name = 'peter'
print('首字母大写:%s'%name.capitalize())

首字母大写Peter

(2)去除空格

  • 去除两边空格
a = '   hello   '
print("a的值为:", a)
b = a.strip()
print("去除两边空格b的值为:", b)

a的值为: hello
去除两边空格b的值为: hello

  • 去除左边空格
c = a.lstrip()
print("去除左边空格c的值为:", c)

去除左边空格c的值为: hello

  • 去除右边空格
d = a.rstrip()
print("去除右边空格d的值为:", d)

去除右边空格d的值为: hello

(3)复制字符串

print('a的内存地址%d'%id(a)) # id函数,查看对象的内存地址
e = a
print('e的内存地址%d'%id(e))
print('e的值为:', e)

a的内存地址1419749899824
e的内存地址1419749899824
e的值为: hello

(4)查找

data = 'I love Python'
print('P的索引为:', data.find('P')) # 若找到,返回下标
print('M的索引为:', data.find('M')) # 若没找到,返回-1
print('P的索引为:', data.index('P')) # 若找到,返回下标
# print(data.index('M')) # 若没找到,报错

P的索引为: 7
M的索引为: -1
P的索引为: 7
ValueError: substring not found

  • 查找开头、结尾
print('字符串是否以I作为开头:', data.startswith('I')) # 若是以I开头,则返回bool类型True
print('字符串是否以l作为开头:', data.startswith('l')) # 若不是,则返回False
print('字符串是否以n作为结尾:', data.endswith('n')) # 若是以n结尾,则返回bool类型True
print('字符串是否以o作为结尾:', data.endswith('o')) # 若不是以n结尾,则返回bool类型False

字符串是否以I作为开头: True
字符串是否以l作为开头: False
字符串是否以n作为结尾: True
字符串是否以o作为结尾: False

(5)大小写转换

print('字符串转换为大写:', data.upper())
print('字符串转换为小写:', data.lower())

字符串转换为大写: I LOVE PYTHON
字符串转换为小写: i love python

(6)字符串的切片操作

print(data[2:5]) # 左闭右开
print(data[2:]) # 从下标2一直到最后
print(data[:3]) # 等效于print(data[0:3])
print(data[::-1]) # 倒序,从右往左遍历
print(data[3:0:-1]) # 第一个索引为大于等于0的数,按[0,1,2..]排序,第一个索引为小于0的数按[...,-2,-1]排序,第三个数为正则从左往右,为负则从右往左

lov
love Python
I l
nohtyP evol I
ol

2.常用列表操作

(1)列表定义

li1 = [] # 空列表
li = [1, 2, 3, 'hi']
print('列表li的长度为:', len(li)) # 打印列表中的对象个数
strA = 'jkl'
print('字符串strA的长度为:', len(strA)) # 打印字符串中字符的个数
print('li多次输出的结果为:', li * 2) # 多次输出列表中的数据

列表li的长度为: 4
字符串strA的长度为: 3
li多次输出的结果为: [1, 2, 3, ‘hi’, 1, 2, 3, ‘hi’]

(2)追加数据

li.append([111])
print('追加数据后的列表数据li为:', li)

追加数据后的列表数据li为: [1, 2, 3, ‘hi’, [111]]

(3)在指定位置插入数据

li.insert(1, '插入')
print('在指定位置插入数据后的列表数据li为:', li)

在指定位置插入数据后的列表数据li为: [1, ‘插入’, 2, 3, ‘hi’, [111]]

(4)强制类型转换:转为列表

li2 = list(range(5))
print('强制类型转换后的列表数据li2为:', li2)

强制类型转换后的列表数据li2为: [0, 1, 2, 3, 4]

(5)将列表内容批量添加到另一个列表中

li.extend(li2) # 与append不同:append将整个列表添加, expend将列表的内容取出来再添加
print('将列表内容批量添加到另一个列表后的列表数据li为:', li)

将列表内容批量添加到另一个列表后的列表数据li为: [1, ‘插入’, 2, 3, ‘hi’, [111], 0, 1, 2, 3, 4]

(6)列表修改

li[0] = 'nihao'
print('将列表修改后的列表数据li为:', li)

[‘nihao’, ‘插入’, 2, 3, ‘hi’, [111], 0, 1, 2, 3, 4]

(7)列表删除和查找操作

del li[0] # 移除对应下标的数据项
print('将列表移除对应下标的数据项后的列表数据li为:', li)
del li[1:3] # 批量删除
print('将列表批量删除后的列表数据li为:', li)
li.remove(4) # 移除对应数据项
print('将列表移除对应数据项后的列表数据li为:', li)
li.pop(1) # 移除对应下标的数据项
print('将列表移除对应数据项后的列表数据li为:', li)
print(li)
print(li.index(3)) # 查找对应数据项的索引
print(li.index(3, 2, 6)) # 在对应下标范围[2,6)能查找到对应数据项的索引
print(li.index(2, 0, 5)) # 在对应下标范围[0,3)不能查找到对应数据项的索引

将列表移除对应下标的数据项后的列表数据li为: [‘插入’, 2, 3, ‘hi’, [111], 0, 1, 2, 3, 4]
将列表批量删除后的列表数据li为: [‘插入’, ‘hi’, [111], 0, 1, 2, 3, 4]
将列表移除对应数据项后的列表数据li为: [‘插入’, ‘hi’, [111], 0, 1, 2, 3]
将列表移除对应数据项后的列表数据li为: [‘插入’, [111], 0, 1, 2, 3]
5
5
4

3.常用元组操作

(1)元组定义

tupleA=() # 空元组
print('tupleA的地址:', id(tupleA)) # 两个元组的地址不同,不是在同一个元组上的修改
tupleA = ('jkl', 9.15, 456, [111,222], 456)
print('tupleA的地址:', id(tupleA))

tupleA的地址: 2644498006080
tupleA的地址: 2644498694032

(2)元组的查询

print(tupleA[1]) # 取出元组中的一个值,不是元组类型
print(tupleA[1:3]) # 切片取出元组的一部分,仍是元组类型
print(tupleA[1:2]) # 元组只有一个元素,要加","

9.15
(9.15, 456)
(9.15,)

(3)元组的修改

tupleA[2] = 789 #元组不能修改,否则会报错
print(tupleA)

TypeError: ‘tuple’ object does not support item assignment

  • 可以对元组的列表数据修改
tupleA[3][0] = 147 # 可以对元组中的列表数据修改
print('tupleA的值为:', tupleA)

tupleA的值为: (‘jkl’, 9.15, 456, [147, 222], 456)

(4)统计数据项出现的次数

print('项456出现的次数', tupleA.count(456))

项456出现的次数 2

4.常用字典操作

(1)字典定义及添加字典操作

dict1 = {} # 空字典
# 创建字典
dictA = {'PRO':'艺术'}
# 添加字典数据 key:value
dictA['name'] = 'zqz'
dictA['age'] = '30'
dictA['pos'] = 'singer'
print("dictA = ", dictA)

dictA = {‘PRO’: ‘艺术’, ‘name’: ‘zqz’, ‘age’: ‘30’, ‘pos’: ‘singer’}

(2)获取数据项长度

print("dictA的长度:", len(dictA))

dictA的长度: 4

(3)通过键获取对应的值

print("通过键获取对应的值:", dictA['name'])

通过键获取对应的值: zqz

(4)修改键对应的值

dictA['name'] = 'y2j'
print("修改键对应的值后dictA:", dictA)

修改键对应的值后dictA: {‘PRO’: ‘艺术’, ‘name’: ‘y2j’, ‘age’: ‘30’, ‘pos’: ‘singer’}

(5)获取所有的键和值

print("dictA所有的键", list(dictA.keys()))
print("dictA所有的值", list(dictA.values()))
print("dictA所有的键和值", list(dictA.items()))

dictA所有的键 [‘PRO’, ‘name’, ‘age’, ‘pos’]
dictA所有的值 [‘艺术’, ‘y2j’, ‘30’, ‘singer’]
dictA所有的键和值 [(‘PRO’, ‘艺术’), (‘name’, ‘y2j’), (‘age’, ‘30’), (‘pos’, ‘singer’)]

(6)字典的修改

dictA.update({'age': 40}) # 修改已有的键值
print("update修改后dictA:", dictA)
dictA.update({'height': '170'}) # 若没有, 则添加
print("update修改后dictA:", dictA)

update修改后dictA: {‘PRO’: ‘艺术’, ‘name’: ‘y2j’, ‘age’: 40, ‘pos’: ‘singer’}
update修改后dictA: {‘PRO’: ‘艺术’, ‘name’: ‘y2j’, ‘age’: 40, ‘pos’: ‘singer’, ‘height’: ‘170’}

(7)字典的删除

del dictA['name'] # 通过指定键删除
print("通过指定键删除后的dictA:", dictA)
dictA.pop('age')
print("通过指定键删除后的dictA:", dictA)

通过指定键删除后的dictA: {‘PRO’: ‘艺术’, ‘age’: 40, ‘pos’: ‘singer’, ‘height’: ‘170’}
通过指定键删除后的dictA: {‘PRO’: ‘艺术’, ‘pos’: ‘singer’, ‘height’: ‘170’}(8)字典的排序

print(sorted(dictA.items(),key=lambda d:d[0])) # 按键排序
print(sorted(dictA.items(),key=lambda d:d[1])) # 按值排序

[(‘PRO’, ‘艺术’), (‘height’, ‘170’), (‘pos’, ‘singer’)]
[(‘height’, ‘170’), (‘pos’, ‘singer’), (‘PRO’, ‘艺术’)]

5.公用方法

(1)合并操作

stra = '111'
strb = '222'
print('合并操作的结果为:', stra+strb)

合并操作的结果为: 111222

(2)复制操作

print('复制操作的结果为:', stra*2)

复制操作的结果为: 111111

(3)in操作:查看对象是否存在,返回bool类型值

name = 'Peter'
print('P是否存在:', 'P' in name)
print('o是否存在:', 'o' in name)

P是否存在: True
o是否存在: False

  • 16
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在 Python 中,我们有如下几种基本数据类型: - 整型 (int):表示整数,如 1、2、3 等。 - 浮点型 (float):表示小数,如 1.23、3.14 等。 - 布尔型 (bool):表示逻辑值,True 或 False。 - 字符串 (str):表示文本,使用单引号或双引号括起来,如 'hello' 或 "world"。 还有一些高级数据类型: - 列表 (list):表示一个有序的值序列,使用方括号括起来,如 [1, 2, 3]。 - 元组 (tuple):表示一个不可变的值序列,使用圆括号括起来,如 (1, 2, 3)。 - 字典 (dict):表示一组键值对,使用花括号括起来,如 {'name': 'Alice', 'age': 20}。 - 集合 (set):表示一组无序的唯一值,使用花括号括起来,如 {1, 2, 3}。 以上就是 Python 中的数据类型。 ### 回答2: Python是一种高级编程语言,支持各种不同的数据类型,例如整数(int)、浮点数(float)、字符串(str)、布尔值(bool)、列表(list)、元组(tuple)、字典(dict)等。 整数(int)是表示整数值的数据类型,可以进行基本的算术运算,如加减乘除等。 浮点数(float)是表示实数值的数据类型,可以包含小数部分,也可以进行各种数学运算。 字符串(str)是表示文本类型的数据类型,用单引号或双引号括起来,可以进行字符串的拼接、截取、替换等操作。 布尔值(bool)是表示真假值的数据类型,只有两个取值:True(真)和False(假),用于条件判断和逻辑运算。 列表(list)是一种有序的可变容器,可以存储多个不同类型的元素,通过下标访问和修改其中的元素,也可以进行增加、删除、切片等操作。 元组(tuple)是一种有序的不可变容器,类似于列表,但是不可以修改其中的元素,可以通过下标访问。 字典(dict)是一种无序的可变容器,存储键值对(key-value)的数据类型,通过键来访问对应的值,可以进行增加、删除、修改、查找等操作。 除了以上常见的数据类型Python还支持更多的扩展数据类型,如集合(set)、序列(sequence)等,可以根据需求选择合适的数据类型来处理不同的数据。总之,Python的丰富的数据类型使得它具有广泛的应用领域,能够应对各种不同的编程任务。 ### 回答3: Python是一种高级编程语言,它具有丰富的数据类型,可以灵活地处理各种类型的数据。以下是Python中常见的数据类型: 1. 整型(int):用于表示整数,例如1、2、-3等。 2. 浮点型(float):用于表示带有小数点的数值,例如3.14、-0.5等。 3. 字符串(str):用于表示文本数据,例如"Hello, World!"、"Python编程"等。字符串可以使用单引号或双引号括起来。 4. 布尔型(bool):用于表示真值,只有两个值True和False,用于逻辑运算。 5. 列表(list):用于存储多个元素的有序集合,元素可以是不同的数据类型,例如[1, 2, 3]、["apple", "banana", "orange"]等。列表可以进行增删改查等操作。 6. 元组(tuple):与列表类似,用于存储多个元素的有序集合,但是元组的元素不可修改,例如(1, 2, 3)、("apple", "banana", "orange")等。 7. 字典(dict):用于存储键值对的无序集合,键和值之间使用冒号分隔,不同的键值对使用逗号分隔,例如{"name": "Tom", "age": 18}等。可以根据键来访问对应的值。 8. 集合(set):用于存储不重复元素的无序集合,可以执行交集、并集、差集等操作,例如{1, 2, 3}、{"apple", "banana", "orange"}等。 9. 字节(bytes):用于表示二进制数据,例如b'hello'、b'\x00\xFF'等。字节数据在处理网络数据、文件读写等方面很常见。 这些数据类型Python中非常有用,开发者可以根据具体的需求选择合适的数据类型来存储和处理数据。另外,Python还支持动态类型,即变量的数据类型可以在运行时发生改变,增加了灵活性。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值