我正在尝试创建一个函数,它接受Y-m-D日期字符串的“day”部分。 例如: 输入:[“2022年11月23日2023年4月9日”] 产出:23
我尝试通过使用.split()函数在逗号处拆分字符串,然后将最后2个索引切掉以获得日期。然而,虽然我可以很容易地得到新拆分字符串的最后一个术语,但我不能得到第二个到最后一个术语
例:
y_m_d="2022 November 20,2023 April 9"
split_ymd=y_m_d.split(",")
first_value=split_ymd[0]
print(split_ymd[-1]) #This prints "0"
但是,将第二个参数添加到slice命令会破坏它
y_m_d="2022 November 20,2023 April 9"
split_ymd=y_m_d.split(",")
first_value=split_ymd[0]
print(split_ymd[-1:-2]) #This prints "[]"
我知道上面的一些术语可能不正确,因为我是一个学习python和一般编程的新手,上面的代码非常凌乱,但是我需要帮助了解上面的slice命令为什么不起作用。我愿意接受关于改进代码本身的建议,但我真的只想知道为什么在他的情况下切片不起作用
谢谢
切片在这种情况下不工作,因为切片在任何情况下都不工作。它与
.split()
或你正在做的任何事情无关考虑这个简单的测试用例:
发生这种情况是因为
-1
引用索引3,-2引用索引2,而span[3,2)
是向后的,所以它被视为空的如果您确实想要一个范围,可以交换它们:
或者,如果需要最后一个元素中的第二个元素,可以使用
-2
:因此,我有两个建议:
有关如何控制datetime对象的字符串格式的详细信息,请参见https://docs.python.org/3/library/datetime.html
您可以在逗号上拆分初始列表,以创建包含 多个字符串,每个字符串表示一个日期
然后在这些日期上迭代,按空格分隔。后续列表中的最后一个值是您要查找的日期值
如果不清楚,请告诉我
它看起来像这样:
相关问题 更多 >
编程相关推荐