完整篇-Python数据类型转换

目录

1、「整数到浮点数」:

2、「浮点数到整数」:

3、「字符串到整数」:

4、「字符串到浮点数」:

5、「整数到字符串」:

6、「浮点数到字符串」:

7、「布尔值到整数」:

8、「列表到元组」:

9、「元组到列表」:

10、「集合到列表」:

11、「列表到集合」:

12、「字典到列表」:

13、「列表到字典」:

14、「字典到集合」:

15、「集合到字典」:

16、「字符串到字典」(使用ast.literal_eval或json.loads):

17、「字典到字符串」(使用str或json.dumps):

18、「列表转换为字符串」:

19、「字符串转换为列表」:

20、「字符串转换为列表」(每个字符一个元素):

21、「字典到集合(仅键)」:

22、「字典到集合(仅值)」:

23、「字典到集合(键值对)」:

24、「字典到JSON字符串(美化格式)」:

25、「JSON字符串到字典(忽略null)」:

26、「列表到集合(去重)」:

27、「集合到列表(排序)」:

28、「浮点数到二进制字符串」:

29、「二进制字符串到浮点数」:

30、「整数到二进制字符串」:

31、「二进制字符串到整数」:

33、「整数到十六进制字符串」:

34、「布尔值到字符串」:

35、「字符串到布尔值」:

35、「列表到字符串(特定分隔符)」:

37、「字符串到列表(特定分隔符)」:

38、「元组到字符串」:

39、「字符串到元组」(通过逗号分隔):

40、「字典到字符串(键值对排序)」:

41、「字典到字符串(格式化输出)」:

42、「字符串到日期」:

43、「日期到字符串」:

44、「时间戳到日期」:

45、「日期到时间戳」:

46、「复数到字符串」:

47、「字符串到复数」:

48、「列表到集合(保持列表顺序)」:

49、集合到列表(保持集合元素的插入顺序)」:

50、「列表到字节串」:

51、「字节串到列表」:

52、「列表到字节串(编码)」:

53、「字节串到列表(解码)」:

54、「字典到字节串(序列化)」:

55、「字节串到字典(反序列化)」:

56、「列表到文件路径」:

57、「文件路径到列表」:

58、「字典到文件(写入)」:

59、「文件到字典(读取)」:

60、「异常信息到字符串」:


1、「整数到浮点数」:
int_num = 10
float_num = float(int_num)
2、「浮点数到整数」:
float_num = 10.6
int_num = int(float_num)  # 小数部分将被截断

3、「字符串到整数」:
str_num = "123"
int_num = int(str_num)
4、「字符串到浮点数」:
str_float = "123.45"
float_num = float(str_float)
5、「整数到字符串」:
int_num = 456
str_num = str(int_num)
6、「浮点数到字符串」:
float_num = 78.90
str_num = str(float_num)

7、「布尔值到整数」:
bool_value = True
int_value = int(bool_value)  # True 转换为 1

8、「列表到元组」:
list_items = [1, 2, 3]
tuple_items = tuple(list_items)
9、「元组到列表」:
tuple_items = (4, 5, 6)
list_items = list(tuple_items)
10、「集合到列表」:
set_items = {7, 8, 9}
list_items = list(set_items)
11、「列表到集合」:
list_items = [10, 11, 12, 10]
set_items = set(list_items)  # 集合中不允许重复元素

12、「字典到列表」:
dict_items = {'a': 1, 'b': 2}
list_items = list(dict_items.items())
13、「列表到字典」:
list_items = [('x', 1), ('y', 2)]
dict_items = dict(list_items)
14、「字典到集合」:
dict_items = {'a': 1, 'b': 2}
set_items = set(dict_items.keys())

15、「集合到字典」:
set_items = {'a', 'b', 'c'}
dict_items = {item: None for item in set_items}
16、「字符串到字典」(使用ast.literal_eval或json.loads):
import ast
str_dict = "{'key1': 'value1', 'key2': 'value2'}"
dict_obj = ast.literal_eval(str_dict)# 或者如果字符串是JSON格式
import json
json_str = '{"key1": "value1", "key2": "value2"}'
dict_obj = json.loads(json_str)
17、「字典到字符串」(使用str或json.dumps):
dict_obj = {'key1': 'value1', 'key2': 'value2'}
str_dict = str(dict_obj)  # Python字典的字符串表示# 或者转换为JSON格式的字符串
json_str = json.dumps(dict_obj)
18、「列表转换为字符串」:
my_list = [1, 2, 3]
my_str = str(my_list)  # "[1, 2, 3]"
19、「字符串转换为列表」:
my_str = "a,b,c"
my_list = my_str.split(',')  # ['a', 'b', 'c']
20、「字符串转换为列表」(每个字符一个元素):
my_str = "hello"
my_list = [char for char in my_str]  # ['h', 'e', 'l', 'l', 'o']
21、「字典到集合(仅键)」:
my_dict = {'a': 1, 'b': 2}
my_set = set(my_dict.keys())
22、「字典到集合(仅值)」:
my_dict = {'a': 1, 'b': 2}
my_set = set(my_dict.values())
23、「字典到集合(键值对)」:
my_dict = {'a': 1, 'b': 2}
my_set = set(my_dict.items())
24、「字典到JSON字符串(美化格式)」:
import json
my_dict = {'a': 1, 'b': 2}
my_json_pretty = json.dumps(my_dict, indent=4)
25、「JSON字符串到字典(忽略null)」:
import json
json_str = '{"a": 1, "b": null}'
my_dict = json.loads(json_str)  # null会被转换为None
26、「列表到集合(去重)」:
my_list = [1, 2, 2, 3, 3]
my_set = set(my_list)  # 去除重复元素
27、「集合到列表(排序)」:
my_set = {3, 1, 2}
my_list = sorted(list(my_set))  # 排序后的列表
28、「浮点数到二进制字符串」:
my_float = 3.5
my_binary_str = format(my_float, '.8f')  # 格式化为8位精度的二进制字符串
29、「二进制字符串到浮点数」:
my_binary_str = '011.1'
my_float = float.fromhex(my_binary_str)  # 假设二进制字符串是十六进制表示
30、「整数到二进制字符串」:
my_int = 10
my_binary_str = bin(my_int)[2:]  # 去掉前缀'0b'
31、「二进制字符串到整数」:
my_binary_str = '1010'
my_int = int(my_binary_str, 2)  # 指定基数为2

32、「十六进制字符串到整数」:

my_hex_str = 'A'
my_int = int(my_hex_str, 16)  # 指定基数为16

33、「整数到十六进制字符串」:
my_int = 10
my_hex_str = hex(my_int)[2:]  # 去掉前缀'0x'
34、「布尔值到字符串」:
my_bool = True
my_str = str(my_bool)  # "True" 或 "False"
35、「字符串到布尔值」:
my_str = 'True'
my_bool = my_str == 'True'  # 根据需要进行适当的逻辑判断

35、「列表到字符串(特定分隔符)」:

my_list = ['a', 'b', 'c']
my_str = ':'.join(my_list)  # 使用':'作为分隔符


37、「字符串到列表(特定分隔符)」:

my_str = 'a:b:c'
my_list = my_str.split(':')  # 使用':'作为分隔符


38、「元组到字符串」:

my_tuple = (1, 2, 3)
my_str = str(my_tuple)  # "(1, 2, 3)"


39、「字符串到元组」(通过逗号分隔):

my_str = '1,2,3'
my_tuple = tuple(map(int, my_str.split(',')))


40、「字典到字符串(键值对排序)」:

my_dict = {'b': 2, 'a': 1}
my_str = str(sorted(my_dict.items()))  # 将键值对排序

41、「字典到字符串(格式化输出)」:

my_dict = {'a': 1, 'b': 2}
my_str = ' '.join(f"{k}={v}" for k, v in my_dict.items())
# "a=1 b=2"

42、「字符串到日期」:

from datetime import datetime
date_str = "2024-07-02"
my_date = datetime.strptime(date_str, "%Y-%m-%d")

43、「日期到字符串」:

my_date = datetime(2024, 7, 2)
date_str = my_date.strftime("%Y-%m-%d")


44、「时间戳到日期」:

import time
timestamp = time.time()
my_date = datetime.fromtimestamp(timestamp)

45、「日期到时间戳」:

my_date = datetime(2024, 7, 2)
timestamp = int(my_date.timestamp())

46、「复数到字符串」:

my_complex = 1 + 2j
my_str = str(my_complex)

47、「字符串到复数」:

my_str = "1+2j"
my_complex = complex(my_str)

48、「列表到集合(保持列表顺序)」:

from collections import OrderedDict
my_list = [1, 2, 2, 3, 3]
my_ordered_set = list(OrderedDict.fromkeys(my_list))

49、集合到列表(保持集合元素的插入顺序)」:

my_set = {3, 1, 2}
my_list = list(my_set)  # 从Python 3.7开始,集合保持插入顺序

50、「列表到字节串」:

my_list = list('hello')
my_bytes = bytes(my_list)

51、「字节串到列表」:

my_bytes = b'hello'
my_list = list(my_bytes)

52、「列表到字节串(编码)」:

my_list = ['h', 'e', 'l', 'l', 'o']
my_bytes = ''.join(my_list).encode('utf-8')

53、「字节串到列表(解码)」:

my_bytes = b'hello'
my_list = my_bytes.decode('utf-8')

54、「字典到字节串(序列化)」:

import json
my_dict = {'key1': 'value1', 'key2': 'value2'}
my_bytes = json.dumps(my_dict).encode('utf-8')

55、「字节串到字典(反序列化)」:

import json
my_bytes = b'{"key1": "value1", "key2": "value2"}'
my_dict = json.loads(my_bytes.decode('utf-8'))


56、「列表到文件路径」:

my_list = ['usr', 'bin', 'python']
my_path = os.path.join(*my_list)  # 使用os.path.join来创建跨平台的文件路径

57、「文件路径到列表」:

import os
my_path = '/usr/bin/python'
my_list = os.path.split(my_path)  # 分割路径为头部和尾部

58、「字典到文件(写入)」:

with open('data.json', 'w') as f:
    json.dump(my_dict, f)


59、「文件到字典(读取)」:

with open('data.json', 'r') as f:
    my_dict = json.load(f)


60、「异常信息到字符串」:

try:
    1 / 0
except Exception as e:
    my_str = str(e)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/866461.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数据赋能(138)——开发:数据映射——技术方法、主要工具

技术方法 数据映射的技术方法主要包括以下几种: 手工法: 手工法涉及开发人员手动编码数据源和目标架构之间的链接。这通常使用如XSLT这样的计算机语言来编写代码,将XML文档翻译成各种格式。然而,随着数据系统的扩展和复杂化&…

11-阿里云服务器 ECS-FileZilla的文件传输

FileZilla的下载与安装以及简单使用(有图解超简单)-CSDN博客 Windows下 FileZilla客户端下载与安装 官方下载地址:https://www.filezilla.cn/download 绿色版我们可以理解为免安装版本,而安装版本则是需要运行Setup的引导程序,最大的区别就是会不会生成注册表。 filezi…

Running cmake version 2.8.12.2解决方案

Centos7安装mysql8.0,编译环节出现如下报错: Running cmake version 2.8.12.2 CMake Warning at CMakeLists.txt:82 (MESSAGE):Please use cmake3 rather than cmake on this platform-- Please install cmake3 (yum install cmake3) CMake Error at CMa…

哪些算法使用了 树 数据结构

树数据结构在计算机科学中非常常见,许多算法使用了树数据结构来解决各种问题。以下是一些常见的算法和应用: 1. **二叉搜索树 (Binary Search Tree, BST)**: - 插入 (Insertion) - 查找 (Search) - 删除 (Deletion) 2. **平衡树**…

通过一个单相逆变器仿真深度学习PR控制器

目录 前言 ​编辑 PR控制器的理论 PR控制器不同表达式及其建模 PR控制器连续积分组合及模型 PR控制器连续传递函数及模型 PR控制器离散积分及模型 PR控制器离散传递函数及模型 PR控制器差分方程及模型 系统仿真效果 总结 前言 在项目开发中常用PI控制器,这次在…

VBA 正则表达式初体验

VBA 正则表达式初体验 Option ExplicitSub demo()Dim i As Long, j As Long, k As Long, s As StringDim reg1 As Object, matches1 As Object, mch1 As ObjectDim reg2 As Object, matches2 As Object, mch2 As ObjectDim allBonus As Stringi 6s Range("a1").Va…

Symfony文件上传功能实现:打造强大而安全的Web应用

Symfony文件上传功能实现:打造强大而安全的Web应用 Symfony是一个高度灵活的PHP Web框架,用于创建快速、安全且易于维护的Web应用。文件上传是Web开发中的常见需求,Symfony提供了一套简单而强大的方法来处理文件上传。本文将详细介绍如何在S…

深入探索PHP中的多维数组:构建复杂数据结构的艺术

深入探索PHP中的多维数组:构建复杂数据结构的艺术 引言 在PHP开发中,数组(Array)是一种非常重要的数据类型,它允许我们存储多个值,并且这些值可以是不同类型的。而多维数组(Multidimensional …

BeanUtils拷贝List数据

工具类: package com.ssdl.baize.pub;import java.lang.reflect.InvocationTargetException; import java.util.ArrayList; import java.util.List; import java.util.function.Supplier; import org.springframework.beans.BeanUtils;public class BeanConvertUti…

【BUUCTF-PWN】10-bjdctf_2020_babystack

简单的栈溢出,ret2text 64位,开启了NX保护 执行效果: main函数: 因为读入的字符长度可以由用户输入的第一个参数值决定,因此read函数存在栈溢出 覆盖距离为0x108 存在后门函数: 后门函数地址0x4…

Kaptcha验证码

Kaptcha验证码 Kaptcha 是一个用于生成验证码的开源库&#xff0c;在 Java 中使用它可以轻松地为应用程序添加验证码功能。 一、引入依赖 首先&#xff0c;需要在项目的 pom.xml 文件&#xff08;如果是 Maven 项目&#xff09;中添加 Kaptcha 的依赖&#xff1a; <depend…

Node.js 使用 gRPC:从定义到实现

1. 概述&#xff1a; gRPC&#xff08;gRPC Remote Procedure Calls&#xff09;是一个高性能、开源的远程过程调用&#xff08;RPC&#xff09;框架&#xff0c;由 Google 开发。它支持多种编程语言&#xff0c;旨在简化和优化分布式系统中的服务通信。 2. gRPC的优势&#…

AIGC | 在机器学习工作站安装NVIDIA cuDNN 深度学习库

[ 知识是人生的灯塔&#xff0c;只有不断学习&#xff0c;才能照亮前行的道路 ] 0x03.初识与安装 cuDNN 深度学习库 什么是cuDNN? cuDNN&#xff08;CUDA Deep Neural Network library&#xff09;是由英伟达&#xff08;NVIDIA&#xff09;开发的深度学习库&#xff0c;专门用…

昇思学习打卡-5-基于Mindspore实现BERT对话情绪识别

本章节学习一个基本实践–基于Mindspore实现BERT对话情绪识别 自然语言处理任务的应用很广泛&#xff0c;如预训练语言模型例如问答、自然语言推理、命名实体识别与文本分类、搜索引擎优化、机器翻译、语音识别与合成、情感分析、聊天机器人与虚拟助手、文本摘要与生成、信息抽…

LLMs之gpt_academic:gpt_academic的简介、安装和使用方法、案例应用之详细攻略

LLMs之gpt_academic&#xff1a;gpt_academic的简介、安装和使用方法、案例应用之详细攻略 目录 gpt_academic的简介 1、版本更新历史 版本: 1、新增功能及其描述 新界面&#xff08;修改config.py中的LAYOUT选项即可实现“左右布局”和“上下布局”的切换&#xff09; 所…

Linux shell编程学习笔记62: top命令 linux下的任务管理器

0 前言 top命令是Unix 和 Linux下常用的性能分析工具&#xff0c;提供了一个动态的、交互式的实时视图&#xff0c;显示系统的整体性能信息&#xff0c;以及正在运行的进程的相关信息&#xff0c;包括各个进程的资源占用状况&#xff0c;类似于Windows的任务管理器。 1 top命令…

鸿蒙:1.入门

概述 简介 鸿蒙操作系统&#xff08;HarmonyOS&#xff09;是华为公司发布的一款智能终端系统&#xff0c;是基于微内核的面向全场景的分布式操作系统。它致力于提供更加安全、高效、低延迟、低功耗的操作体验&#xff0c;可通过技术手段对应用程序和设备进行智能协同&#xf…

mac鼠标键盘共享:ShareMouse for Mac 激活版

hareMouse 是一款 Windows 和 macOS 操作系统上的共享和切换鼠标和键盘的实用工具。这款软件允许用户在多台计算机之间无缝地共享鼠标和键盘&#xff0c;使得在不同设备之间进行工作和操作变得更加便捷。占用资源少&#xff1a; ShareMouse 设计轻量&#xff0c;占用系统资源较…

JVM原理(十五):JVM虚拟机静态分配与动态分配

1. 分派 本节讲解的分派调用过程将会揭示多态性特征的一-些最基本的体现&#xff0c;如“重载”和“重写”在Java虚拟机之中是如何实现的。 1.1. 静态分派 案例&#xff1a; 我们先来看一段代码: Human mannew Man(); 我们把上面代码中的“Human"称为变量的“静态类型…

iCloud照片库全指南:云端存储与智能管理

iCloud照片库全指南&#xff1a;云端存储与智能管理 在数字化时代&#xff0c;照片和视频成为了我们生活中不可或缺的一部分。随着手机摄像头质量的提升&#xff0c;我们记录生活点滴的方式也越来越丰富。然而&#xff0c;这也带来了一个问题&#xff1a;如何有效管理和存储日…