初级Python:将列表提取到integ

2024-09-30 10:28:04 发布

您现在位置:Python中文网/ 问答频道 /正文

我是一个初学者程序员,我需要帮助从列表中提取数字并将其转换回整数。该程序接受一个数字输入(如305.67),并拆分为305和67。附件是显示未完成部分的代码。感谢任何帮助,谢谢!在

def getDollarFormatText(dolAndCent):

    separateDolCent = str(dolAndCent).rsplit('.',1)

    return separateDolCent

Tags: 代码程序列表附件returndef数字整数
2条回答

你离得太近了!在

def getDollarFormatText(dolAndCent):

    separateDolCent = [int(x) for x in str(dolAndCent).split('.')]

    return separateDolCent

我在[int(x)中为x in做了什么多兰分。分开('.')]是一个list comprehension(列表理解是python中一个非常常见的习惯用法,一旦您熟悉了它们,就会非常强大)。本质上,它会在“.”上拆分字符串(如之前所做的那样),然后创建一个小循环来循环每个元素(“.”之前和之后的部分)。对于其中的每一个,它将转换为带有int的整数。功能。在

我将rsplit改为split,因为从字符串的哪一边拆分并不重要,我删除了{},因为只有一个“.”。在


作为补充说明,没有理由创建separateDolCent变量:

^{pr2}$

请注意我是如何将变量从camelCase更改为using_underscores。这是python社区中函数名和变量名的首选。我还使用docstring为函数添加了一些文档。在


如果需要处理23.4或{}等数字,可以对代码进行以下编辑:

def get_dollar_format_text(dol_and_cent):
    '''Returns the dollar and cents part of a money amount as
    a two element list of integers, where the first element is
    dollars and the second is cents.
    '''
    return [int(x) for x in '{0:.2f}'.format(dol_and_cent).split('.')]

它的作用是强制数字始终使用两个小数位格式化,这样2变成{},3.4变成{},而{}变成{}。这样,你总是得到两个小数点的美分。在

你就快到了:

def getDollarFormatText(dolAndCent):

    separateDolCent = map(int,str(dolAndCent).rsplit('.',1))

    return separateDolCent

How to be able to save each integer into a new variable?

只需将它们提取为两个变量(例如a和{}):

^{pr2}$

这将打印:

5
70

相关问题 更多 >

    热门问题