Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Python中开始这种类型转换作业?_Python_List - Fatal编程技术网

如何在Python中开始这种类型转换作业?

如何在Python中开始这种类型转换作业?,python,list,Python,List,编写一个名为toInt的函数,该函数以列表作为参数。该函数将字符串列表转换为整数列表并返回新列表 使用定义如下的列表调用函数并打印返回的列表。 列表_x=['7'、'1'、'3.0'、'20.30'] 预期产出为:[7,1,3,20] 简单,使用此代码(Pythonic方式) 试试这个 >>> listInteger(['7','1','3.0','20.30']) [7, 1, 3, 20] >>> int无法转换“.”或虚线值,因此应首先将其更改为flo

编写一个名为toInt的函数,该函数以列表作为参数。该函数将字符串列表转换为整数列表并返回新列表

使用定义如下的列表调用函数并打印返回的列表。 列表_x=['7'、'1'、'3.0'、'20.30']

预期产出为:[7,1,3,20]

简单,使用此代码(Pythonic方式)

试试这个

>>> listInteger(['7','1','3.0','20.30'])
[7, 1, 3, 20]
>>>
int
无法转换“.”或虚线值,因此应首先将其更改为
float
类型

list_x= [int(float(i)) for i in list_x]
使用列表理解并将每个值转换为整数值
首先将它们转换为float,然后再转换为int,也许最好将对象的字符串表示形式转换为真实形式,如

>>> list_x = ['7','1','3.0','20.30']
>>> import ast
>>> list_y = [ast.literal_eval(x) for x in list_x]
>>> list_y
[7, 1, 3.0, 20.3]
或者,如果您真正关心转换的精度,则使用
十进制
模块,如

>>> import decimal
>>> list_y = [decimal.Decimal(x) for x in list_x]
>>> list_y
[Decimal('7'), Decimal('1'), Decimal('3.0'), Decimal('20.30')]
输出

[7, 1, 3, 20]

这将帮助您解决问题。

这一行将解决您的问题:)


欢迎来到SO。请花点时间阅读和阅读该页面上的其他链接。这不是一个讨论论坛或教程服务。你应该花一些时间来练习这些例子。它将向您介绍Python为解决您的问题所提供的工具。你试过什么?发布您的代码以便人们可以帮助您这是否回答了您的问题?你试过什么,或做过任何努力吗?请看:。
list_x = ['7','1','3.0','20.30']
list_x = list(map(round, list(map(float, list_x))))
[7, 1, 3, 20]
>>>  list_y = [round(float(i)) for i in list_x]