我有一个像"2016-01-01"(YYYY-MM-DD)的日期,我正在as.numeric(as.POSIXct(...))使用它作为整数.
我的问题是,有没有办法在一年,一个月或一天中添加到这个日期?我的意思是,如果我在2016年增加一年,它将与2015年增加一年(bissextile stuff)相同.
与在1月1日添加32天相同,与在2月01日添加32天相同(因为可能更改的天数)
我设法把东西了年和月的作品,但我想实现天以及
how_long_is_simul <- function(lst){
# Format DATE_START
greg_date = intDate_to_gregorianDate(DATE_START)
reg = "^([0-9]{4})\\-([0-9]{2})\\-([0-9]{2})$" # black-magic
splited_date = str_match(greg_date, reg)
# Manage months limit
lst$years = lst$years + floor(lst$months/12)
lst$months = lst$months%%12
# Build new date
my_vector = c(lst$years, lst$months, 0)
end_date = paste(as.numeric(splited_date[2:4]) + my_vector, collapse = "-")
return(round((gregorianDate_to_intDate(end_date)-DATE_START)/86400))
}
# AND the vars used by the function
DATE_START <- 1451606400 # 2016-01-01 GMT
lst = list( # no days, …Run Code Online (Sandbox Code Playgroud) 我正在学习 argparse 模块,我想询问 0 或 2 个文件。
parser.add_argument("infile", nargs = {0,2}, type=argparse.FileType('r'))
Run Code Online (Sandbox Code Playgroud)
它应该与:
python prog.py
python prog.py infile1 infile2
Run Code Online (Sandbox Code Playgroud)
但不包括:
python prog.py infile1
python prog.py infile1 infile2 infile3
Run Code Online (Sandbox Code Playgroud)
实际上我使用了 2 个不同的参数“nargs='?'” 我测试
sys.argv == 1 or sys.argv == 3
Run Code Online (Sandbox Code Playgroud) 所以我有一个问题,我有一个iterable(字符串或列表在这里)喜欢string = "ABCDEFG",我想输出类似的东西
A-B
B-C
C-D
...
F-G
Run Code Online (Sandbox Code Playgroud)
所以我知道这有效(忘了处理indexError,但无论如何),但它很难看......
for i in range(len(myString)):
element1 = myString[i]
element2 = myString[i+1]
print("theshit")
Run Code Online (Sandbox Code Playgroud)
有没有办法以更优雅/ pythonic的方式做到这一点?我认为itertools可以是一个解决方案,但我不知道它是如何工作的..
顺便说一句,我myString只需要这个循环所以也许生成器(不知道如何使用它,我还在学习)
谢谢 :)