it编程 > 前端脚本 > Python

Python常见数据类型处理详细代码示例

21人参与 2025-04-25 Python

一、数据类型分类

python3 中常见的数据类型有:

python3 的六个标准数据类型中:

#	list(列表)
my_list = [0, 1, 2, 3, 4, 5, 6, 7, 8]

# tuple(元组)(值不能修改)
my_tuple = (1, 2, 3, 4)

# dictionary(字典)
my_info = {'name': '张三', 'age': 18, 'address': '北京市'}

# set(集合)
set01 = {1, 2, 3, 4} 

二、基本数据类型

1、number(数字)

>>> 5 + 4  # 加法
9
>>> 4.3 - 2 # 减法
2.3
>>> 3 * 7  # 乘法
21
>>> 2 / 4  # 除法,得到一个浮点数
0.5
>>> 2 // 4 # 除法,得到一个整数
0
>>> 17 % 3 # 取余 
2
>>> 2 ** 5 # 乘方
32

2、string(字符串)

print(str[0:-1])     # 打印字符串第一个到倒数第二个字符(不包含倒数第一个字符)
print(str[0])        # 打印字符串的第一个字符
print(str[2:5])      # 打印字符串第三到第五个字符(包含第五个字符)
print(str[2:])       # 打印字符串从第三个字符开始到末尾

str_01 = 'my name is:{}, age:{}'
print(str_01.format('张三', 18))

str_02 = 'my name is:{name}, age:{age}'
print(str_02.format(name='张三', age=18))

str_03 = 'my name is:{name}, age:{age}'
print(str_03.format_map({'name': '张三', 'age': 18}))

python 使用反斜杠\ 转义特殊字符,如果你不想让反斜杠发生转义,可以在字符串前面添加一个r,表示原始字符串:

print('ru\noob')
ru
oob
print(r'ru\noob')
ru\noob

encode()decode()方法

str.encode(encoding='utf-8',errors='strict')
bytes.decode(encoding="utf-8", errors="strict")
#!/usr/bin/python3

str = "菜鸟教程"
str_utf8 = str.encode("utf-8", 'strict')
str_gbk = str.encode("gbk")

print("utf-8 编码:", str_utf8)
print("gbk 编码:", str_gbk)

print("utf-8 解码:", str_utf8.decode('utf-8'))
print("gbk 解码:", str_gbk.decode('gbk', 'strict'))

结果:

utf-8 编码: b'\xe8\x8f\x9c\xe9\xb8\x9f\xe6\x95\x99\xe7\xa8\x8b'
gbk 编码: b'\xb2\xcb\xc4\xf1\xbd\xcc\xb3\xcc'
utf-8 解码: 菜鸟教程
gbk 解码: 菜鸟教程

3.2 format格式化字符串

# 1、
print('{}网址: "{}!"'.format('菜鸟教程', 'www.runoob.com'))
# 2、
print('{name}网址: {site}'.format(name='菜鸟教程', site='www.runoob.com'))

# 3、
print('{0} 和 {1}'.format('google', 'runoob'))
# 可以任意组合
print('站点列表 {0}, {1}, 和 {other}。'.format('google', 'runoob', other='taobao'))

# 4、
table = {'google': 1, 'runoob': 2, 'taobao': 3}
print('runoob: {0[runoob]:d}; google: {0[google]:d}; taobao: {0[taobao]:d}'.format(table))

3、bool(布尔类型)

布尔类型即 true 或 false。

在 python 中,true 和 false 都是关键字,表示布尔值。

布尔类型可以用来控制程序的流程,比如判断某个条件是否成立,或者在某个条件满足时执行某段代码。

布尔类型特点:

a = true
b = false

# 比较运算符
print(2 < 3)   # true
print(2 == 3)  # false

# 逻辑运算符
print(a and b)  # false
print(a or b)   # true
print(not a)    # false

# 类型转换
print(int(a))   # 1
print(float(b)) # 0.0
print(str(a))   # "true"

python3 中,bool是 int 的子类,truefalse可以和数字相加,true==1、false==0会返回true,但可以通过is来判断类型。

a1 = true
print(type(a1))
print(a1 + 100)

<class 'bool'>
101

4、bytes

字符串转为bytes

# 解析为bytes:b'hello,world'
print('hello,world'.encode())

bytes转为字符串

# 创建一个bytes对象
bytes_data = b'hello, world!'

# b'hello, world!'
print(bytes_data)

# 将bytes对象转换为字符串
string_data = bytes_data.decode('utf-8')
print(string_data)

三、多值存储

1、list(列表)

增、删、改、查:

my_list = [0, 1, 2, 3, 4, 5, 6, 7, 8]
# 1、增
my_list.append('333')
# 将另一个集合中添加到列表中
insert_list = [1, 23]
my_list.extend(insert_list)
# 指定位置前插入元素
my_list.insert(2, '34')

# 2、删
my_list.remove()

# 3、改
my_list[1] = '张三'

# 4、查
# 查看是否存在于集合中
print('张三' in my_list)
# 查询所在索引
my_list.index('张三')
my_list.index('张三', 1, 4)
# 查询数量
my_list.count('张三')

其它

# 循环
for one in my_list:
    # print(one)
    print(one, end='==')
    print(one, end='==\n%%% ')

# 排序
# 排序-正序
my_list.sort()
# 排序-倒叙
my_list.sort(reverse=true)

函数内置方法

方法序号
list.append(obj)在列表末尾添加新的对象
list.count(obj)统计某个元素在列表中出现的次数
list.extend(seq)在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
list.index(obj)从列表中找出某个值第一个匹配项的索引位置
list.insert(index, obj)将对象插入列表
list.pop([index=-1\])移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
list.remove(obj)移除列表中某个值的第一个匹配项
list.reverse()反向列表中元素
list.sort( key=none, reverse=false)对原列表进行排序
list.clear()清空列表
list.copy()复制列表

2、tuple(元组)

python的元组与列表类似,不同之处在于元组的元素不能修改。

# tuple元组
my_tuple = (1, 2, 3, 4)

# 查-某个值
print(my_tuple[1])

# 查—查询所在索引位置(前闭右开区间)(起始索引:0)
print(my_tuple.index(2, 1, 3))
# 查-某值数量
print(my_tuple.count(1))

python元组包含了以下内置函数

函数方法及描述实例
len(tuple)计算元组元素个数>>> tuple1 = ('google', 'runoob', 'taobao')
max(tuple)返回元组中元素最大值max(tuple2)
min(tuple)返回元组中元素最小值min(tuple2)
tuple(iterable)将可迭代系列转换为元组tuple1=tuple(['google', 'taobao', 'runoob', 'baidu'])

3、dictionary(字典)

增删改查

my_info = {'name': '张三', 'age': 18, 'address': '北京市'}
# 1、查询元素
# 查-查询单个(无值异常)
print(my_info['name'])
print(my_info['age'])
# 查-查询单个(无值返回 none)
print(my_info.get('name1'))
# 查-查询单个(无值返回 指定值)
print(my_info.get('name2', '李四'))

# 2、修改元素
my_info['name'] = '王五'

# 3、添加元素
# 添加元素-键不存在则添加
my_info['id'] = 1234

# 4、删除元素
# 删除元素-删除单个元素
del my_info['id']
# 删除-删除字典(查询会报错
del my_info
# 删除—清空字段(值为{})
my_info.clear()

其它api

# 5、其它api
# 测量字典中,键值对的个数
print(len(my_info))

# 返回一个包含字典所有key的列表
print(my_info.keys())

# 返回一个包含字典所有value的列表
print(my_info.values())

# 返回一个包含所有(键,值)元祖的列表
print(my_info.items())
方法函数及描述
dict.clear()删除字典内所有元素
dict.copy()返回一个字典的浅复制
dict.fromkeys()创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值
dict.get(key, default=none)返回指定键的值,如果键不在字典中返回 default 设置的默认值
key in dict如果键在字典dict里返回true,否则返回false
dict.items()以列表返回一个视图对象
dict.keys()返回一个视图对象
dict.setdefault(key, default=none)类似, 但如果键不存在于字典中,将会添加键并将值设为default
dict.update(dict2)把字典dict2的键/值对更新到dict里
dict.values()返回一个视图对象
pop(key[,default\])删除字典 key(键)所对应的值,返回被删除的值。
popitem()返回并删除字典中的最后一对键和值。

4、set(集合)

# 0、创建集合
set01 = {1, 2, 3, 4}            # 直接使用大括号创建集合
set02 = set([4, 5, 6, 7])      # 使用 set() 函数从列表创建集合

# 1、增
# 1-1 将元素 x 添加到集合 s 中,如果元素已存在,则不进行任何操作。
set01.add(100)
# 1-2 添加元素,且参数可以是列表,元组,字典等
set01.update([1, 2, ])

# 2、删
# 2-1 将元素 x 从集合 s 中移除,如果元素不存在,则会发生错误
set01.remove(1)
# 2-2 移除集合中的元素,且如果元素不存在,不会发生错误
set01.discard(1)
# 2-3 随机删除集合中的一个元素
s.pop() 

# 3、其它
# 判断元素是否在集合内(false)
print('1' in set03)
# 计算集合元素个数
print(len(set01))
# 清空集合
set01.clear()

集合内置方法完整列表

方法描述
add()为集合添加元素
clear()移除集合中的所有元素
copy()拷贝一个集合
difference()返回多个集合的差集
difference_update()移除集合中的元素,该元素在指定的集合也存在。
discard()删除集合中指定的元素
intersection()返回集合的交集
intersection_update()返回集合的交集。
isdisjoint()判断两个集合是否包含相同的元素,如果没有返回 true,否则返回 false。
issubset()判断指定集合是否为该方法参数集合的子集。
issuperset()判断该方法的参数集合是否为指定集合的子集
pop()随机移除元素
remove()移除指定元素
symmetric_difference()返回两个集合中不重复的元素集合。
symmetric_difference_update()移除当前集合中在另外一个指定集合相同的元素,并将另外一个指定集合中不同的元素插入到当前集合中。
union()返回两个集合的并集
update()给集合添加元素
len()计算集合元素个数

四、其它

1、json

方法作用返回类型
eval(字符串表达式)eval() 函数用来执行一个【字符串表达式】,并返回表达式的值。list、dict、tuple
json.dumps()将python对象编码成json字符串返回json字符串
json.loads()将json字符串解码成python对象返回python对象
json.dump()将python中的对象转化成json储存到文件中无返回
json.load()将文件中的json的格式转化成python对象提取出来返回python对象

五、其它函数

1、print()

print(*objects, sep=' ', end='\n', file=sys.stdout, flush=false)
# 1 2 3 4 5
print('1', '2', '3', '4', '5')
# 1+2+3
print('1', '2', '3', sep='+')
# 1++2++3==
print('1', '2', '3', sep='++', end='==')

总结 

到此这篇关于python常见数据类型处理的文章就介绍到这了,更多相关python数据类型处理内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)
打赏 微信扫一扫 微信扫一扫

您想发表意见!!点此发布评论

推荐阅读

Python中解包操作的性能实测与最佳实践

04-25

Python包管理利器之pip命令的安装与使用入门指南

04-25

Python中锁Lock的类型举例详解

04-25

Python脚本实现删除谷歌浏览器历史记录

04-25

Python Transformers库(NLP处理库)案例代码讲解

04-25

conda将python低版本环境升级到高版本的完整步骤

04-25

猜你喜欢

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论