【问题标题】:How do I change a list into integers on Python? [closed]如何在 Python 上将列表更改为整数? [关闭]
【发布时间】:2014-03-14 20:48:00
【问题描述】:

我有一个列表,我需要将其更改为整数。

('01/01/2009', '02/01/2009', '03/01/2009', '04/01/2009')

首先,我如何将此字符串列表更改为整数,以便第一个日期等于 1,然后是下一个 2,然后是下一个 3,等等。一旦完成,如何将字符串更改为浮点数? 如何删除列表中的第一个值/日期并保留其余的仅留下接下来的三个日期/值。

【问题讨论】:

  • 嗨,欢迎来到 Stack Overflow。我认为您被否决的原因是因为您的问题中没有代码。发布您尝试过的内容、获得的内容(即使是错误的)以及您的期望会很有帮助。您可以编辑您的问题以放入您的代码中。

标签: string integer


【解决方案1】:

首先,将您的tuple 设置为listlist 更容易使用,因为它是可变的(可修改的),而 tuple 则不是。

>>> dates = list(('01/01/2009', '02/01/2009', '03/01/2009', '04/01/2009'))
>>> dates
['01/01/2009', '02/01/2009', '03/01/2009', '04/01/2009']

请求一,整数字符串:

>>> answer1 = [item[:2] for item in dates]  # Here we slice the string.
>>> answer1
['01', '02', '03', '04']

请求二,浮动:

>>> answer2 = [float(item) for item in answer1]   # Conversion is easy as that.
>>> answer2
[1.0, 2.0, 3.0, 4.0]

然而,上述解决方案可以这样连接:

>>> final = [float(item[:2]) for item in dates]   # A list comprehension.
>>> final
[1.0, 2.0, 3.0, 4.0]

请求三,删除第一个list项:

>>> final.pop(0)  # Removes and returns an item at the specified index.
1.0
>>> final
[2.0, 3.0, 4.0]

【讨论】:

  • @user3403282 嗯?我不明白你的意思,但我改进了请求一以适用于所有日期。
  • 我的意思是我使用的日期会发生变化,但它们将始终按照所选月份的天数排列。例如('27/08/2010', '26/08/2010', '25/08/2010', '24/08/2010')(12/12/2006', '11/12/2006', '09/12/2006', '08/12/2006')。那么是否可以将列表中的日期更改为整数?所以第一个日期是 1,然后第二个是 2,依此类推。
  • @user340282 [dates.index(date)+1 for date in dates]?如果我理解正确的话。
  • @user3403282 是的,只需将[1:] 添加到该行的最后即可。如果我有帮助,请点击投票数下方的勾号接受。如果可以,也欢迎投票。
  • @user340282 所以在这种情况下,只需执行dates2 = [1:]
【解决方案2】:

这将处理到 12 月的日期:

import operator

dates = ('01/01/2009', '02/01/2009', '03/01/2009', '04/01/2009', '12/01/2009')
getter = operator.itemgetter(slice(0, 2))  # get first two digit characters
print tuple(float(getter(date)) for date in dates[1:])  # leaves first one out

输出:

(2.0, 3.0, 4.0, 12.0)

【讨论】:

    猜你喜欢
    • 2020-04-14
    • 1970-01-01
    • 2013-03-08
    • 2012-09-20
    • 1970-01-01
    • 1970-01-01
    • 2012-12-04
    • 1970-01-01
    • 2011-10-29
    相关资源
    最近更新 更多