首页 > 编程语言 >12个Python数据类型转换实战演练

12个Python数据类型转换实战演练

时间:2024-07-29 13:27:15浏览次数:11  
标签:类型转换 12 转换 Python age list 列表 str print

文末赠免费精品编程资料~~

在Python编程中,数据类型转换是处理数据时必不可少的技能。掌握如何灵活地在不同类型之间转换,能让你的代码更加高效和灵活。下面,我们将通过一系列实战演练,学习并实践12种常见的Python数据类型转换。


1. 整数转字符串

实战案例: 将年龄转换为字符串,以便在消息中显示。

age = 25  
age_str = str(age)  
print("My age is " + age_str)  

解释: 使用str()函数将整数转换为字符串,便于拼接输出。


2. 字符串转整数

实战案例: 从用户输入中获取年龄,并将其转换为整数进行计算。

age_input = input("Enter your age: ")  
age = int(age_input)  
print("In 10 years, you will be " + str(age + 10))  

解释: 使用int()函数将字符串转换为整数,注意输入可能是非数字,需加入异常处理。


3. 浮点数转整数

实战案例: 计算商品折扣后的价格,保留整数部分。

price = 19.99  
discounted_price = int(price * 0.8)  
print("Discounted price: $" + str(discounted_price))  

解释: 使用int()函数丢弃小数部分,实现浮点数到整数的转换。


4. 列表转字符串

实战案例: 将购物清单转换为字符串,方便发送给朋友。

shopping_list = ["apple", "banana", "orange"]  
list_str = ", ".join(shopping_list)  
print("Shopping list: " + list_str)  

解释: 使用join()方法将列表中的元素连接成一个字符串。


5. 字符串转列表

实战案例: 将一段文本按单词分割,形成单词列表。

text = "Hello world, this is a test."  
words = text.split()  
print(words)  

解释: 使用split()方法根据空格将字符串分割成列表。


6. 字典转列表

实战案例: 将学生信息字典转换为列表,以便于进一步处理。

student_info = {"name": "Alice", "age": 20}  
info_list = list(student_info.items())  
print(info_list)  

解释: 使用items()方法和list()函数将字典转换为列表,其中每个元素是一个键值对元组。


7. 列表转字典

实战案例: 将键值对列表转换为字典,用于存储配置信息。

config_pairs = [("key1", "value1"), ("key2", "value2")]  
config_dict = dict(config_pairs)  
print(config_dict)  

解释: 使用dict()构造函数将键值对列表转换为字典。


8. 元组转列表

实战案例: 将不可变的元组转换为可修改的列表。

colors = ("red", "green", "blue")  
colors_list = list(colors)  
colors_list.append("yellow")  
print(colors_list)  

解释: 使用list()函数将元组转换为列表,以便添加新元素。


9. 列表转元组

实战案例: 将可修改的列表转换为不可变的元组,保证数据的一致性。

numbers = [1, 2, 3]  
numbers_tuple = tuple(numbers)  
print(numbers_tuple)  

解释: 使用tuple()函数将列表转换为元组。


10. 字符串转日期

实战案例: 将生日字符串转换为日期对象,方便计算年龄。

from datetime import datetime  
  
birthday_str = "1995-01-01"  
birthday_date = datetime.strptime(birthday_str, "%Y-%m-%d")  
print("Birthday:", birthday_date)  

解释: 使用datetime.strptime()函数将字符串按照指定格式转换为日期对象。


11. 日期转字符串

实战案例: 将当前日期转换为字符串,用于文件命名。

from datetime import datetime  
  
today = datetime.now()  
today_str = today.strftime("%Y%m%d")  
print("Today's date:", today_str)  

解释: 使用strftime()函数将日期对象按照指定格式转换为字符串。


12. 列表转集合

实战案例: 将水果列表转换为集合,去除重复项。

fruits = ["apple", "banana", "apple", "orange"]  
unique_fruits = set(fruits)  
print(unique_fruits)  

解释: 使用set()函数将列表转换为集合,自动去除重复元素。


案例1:字符串到整数转换的陷阱

实战代码:

try:  
    age_str = "25 years"  
    age = int(age_str)  
    print("Age:", age)  
except ValueError as e:  
    print("Error:", e)  

输出:

Error: invalid literal for int() with base 10: '25 years'  

分析与技巧: 尝试将包含非数字字符的字符串转换为整数会导致ValueError。为避免此类错误,可以先使用str.replace()或正则表达式清理字符串。

改进代码:

import re  
  
age_str = "25 years"  
age_str_cleaned = re.sub(r'\D', '', age_str)  # 移除非数字字符  
age = int(age_str_cleaned)  
print("Age:", age)  

案例2:列表到字典转换的灵活性

实战代码:

keys = ["name", "age", "city"]  
values = ["John Doe", 30, "New York"]  
person_dict = dict(zip(keys, values))  
print(person_dict)  

输出:

{'name': 'John Doe', 'age': 30, 'city': 'New York'}  

分析与技巧: zip()函数可以将两个列表合并为一个元组列表,非常适合用于创建字典。如果列表长度不匹配,zip()会以最短的列表为准,多余的元素会被忽略。要避免这种情况,可以使用zip_longest()函数(需要导入itertools模块)。

改进代码:

from itertools import zip_longest  
  
keys = ["name", "age", "city", "country"]  
values = ["John Doe", 30, "New York"]  
person_dict = dict(zip_longest(keys, values, fillvalue=None))  
print(person_dict)  

案例3:列表与元组之间的转换

实战代码:

colors = ["red", "green", "blue"]  
colors_tuple = tuple(colors)  
colors_list = list(colors_tuple)  

分析与技巧: 列表和元组之间的转换非常直接,但理解它们的区别很重要。列表是可变的,而元组是不可变的。选择合适的数据结构对于优化性能和保证数据完整性至关重要。

练习技巧: 尝试用不同的方式创建列表和元组,比如使用列表推导式或生成器表达式。例如:

squares = [x**2 for x in range(5)]  
square_tuples = tuple((x, x**2) for x in range(5))  

结语

掌握Python中的数据类型转换是成为一个高效程序员的关键。通过不断实践和挑战自己,你将能够更加自信地处理各种数据结构,使你的代码更加健壮和高效。

文末福利

学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后这里免费分享给大家一份Python全套学习资料,希望能给想学习 Python 的小伙伴们一点帮助!

编程资料、学习路线图、源代码、软件安装包等!文末免费领取
① Python所有方向的学习路线图,清楚各个方向要学什么东西
② 100多节Python课程视频,涵盖必备基础、爬虫和数据分析
③ 100多个Python实战案例,学习不再是只会理论
④ 华为出品独家Python漫画教程,手机也能学习
⑤ 历年互联网企业Python面试真题,复习时非常方便

在这里插入图片描述
这份完整版的Python全套学习资料已经上传,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】。
在这里插入图片描述

标签:类型转换,12,转换,Python,age,list,列表,str,print
From: https://blog.csdn.net/m0_62283350/article/details/140768825

相关文章

  • Python全套教程,小白零基础入门必备!
    Python是一种语法简单、功能强大的编程语言,它注重的是如何高效解决问题。【教程领取方式在文末!!】正是这种简单实用的特性,让Python成为近年来最热门的编程语言之一。Python具有广泛的应用场景,包括:Web开发、数据分析、机器学习、网络爬虫、人工智能、量化交易等众多领......
  • BP神经网络及其Python和MATLAB实现预测
    BP神经网络及其Python和MATLAB实现预测引言BP神经网络(BackPropagationNeuralNetwork),即反向传播神经网络,是一种通过反向传播算法进行监督学习的多层前馈网络。这种网络能够通过不断地调整和改变神经元的连接权重,达到对特定任务的学习和优化。由于其高度的灵活性和适应性......
  • 为什么Python要对引用非容器类型的类型实现循环GC
    检查文档:支持循环垃圾收集Python对检测和收集涉及循环引用的垃圾的支持需要对象类型的支持,这些对象类型是其他对象的“容器”,这些对象也可能是容器不存储对其他对象的引用或仅存储对原子类型(例如数字或字符串)的引用的类型不需要为垃圾收集提供任何显......
  • 如何在 Visual Studio Code 中降级终端中的 python?
    我有一段代码需要运行,但它仅与tensorflow1.3、1.4和1.5兼容。我想我需要降级python才能运行它,但是终端有python3.10我尝试创建虚拟环境失败,但终端仍然说它正在使用python3.10,所以我仍然无法运行代码有什么我可以做的吗?是对的,创建虚拟环境是运行不同Python版本代......
  • python-小李帮老师改错(赛氪OJ)
    [题目描述]老师给小理发了一封电子邮件,任务如下。写一个程序,给你 n 个数,输出 X。X=num1p1​​+num2p2​​+⋯+numnpn​​。                 num1​,num2​,⋯⋯,numn​ 都是整数,p1​,p2​,⋯⋯pn​ 都是一位数。但是出现了一些玄学错误,......
  • 912、基于51单片机的温度控制(PID,模拟控制,除雾器)
    完整资料或代做滴滴我(有偿)目录一、设计功能二、proteus仿真三、原理图四、程序源码五、资料包括一、设计功能设计中镜片除雾器,当温度过低时启动镜片上的加热膜进行加热,从而实现对镜片上温度的控制,实现只能除雾;保持镜片温度为25度。二、proteus仿真三......
  • 保护从 py2exe python 生成的二进制文件
    我的项目需要将我的python文件转换为py2exe。公平地说,我的py2exe正在工作。假设我的二进制文件名为“test.exe”。我知道我的test.exe包含我的python文件的所有pyc文件。我想要做的是,保护我的text.exe,这样我的源代码就不会被看到,换句话说,我不希望它被反编译回来,我该怎......
  • python 将数字前面的字符替换为数字后面的新字符
    我有一些字符串看起来像:*.rem.1.gz和*.rem.2.gz我想将其替换为*.1.trim.gz和*.2.trim.gz1号文件和2号文件相互配对,我想创建一个单独的字符串来同时包含这两个文件。importosallfiles=os.listdirpair=[x.replace("rem.(\d+)","(\d+).trim")forxinall......
  • 使用python打开UNC文件
    如何使用python通过路径打开网络计算机上的文件?我当前正在使用os.startfile但随后出现错误winerror2:无法打开文件。文件路径是正确的,我可以通过win+R打开该文件。感谢您提供的任何帮助。importwin32wnetimportosdefopen_unc_path(unc_path,usern......
  • Python环境:深入理解与构建实践
    Python环境:深入理解与构建实践在当今的软件开发领域中,Python以其简洁的语法、丰富的库支持和广泛的应用场景,成为了众多开发者、数据科学家、机器学习工程师及自动化测试人员的首选语言。然而,要高效地使用Python进行项目开发,深入理解并合理构建Python环境是至关重要的。本文......