鱼C论坛

 找回密码
 立即注册
查看: 2176|回复: 7

[已解决]python3请问怎么选取一个范围内的东西

[复制链接]
发表于 2016-11-19 18:59:06 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 thyx 于 2016-11-19 19:12 编辑

[['a','b,','4/11/1976'],['c','d','7/8/1984']......]这里有一系列的日期(一个sublist包括日期和别的string,只需要看日期就可以了,全部的日期的sublist合成一个大的list)
#输入
beginning=input('enter beginning year')
ending=input('enter ending year')
怎么选取这个年份范围内的所有日期,然后把这整个sublist给print出来
最佳答案
2016-11-19 20:04:16
>>> import time
>>> beginning=input('enter beginning date:')
enter beginning date:2015-1-30
>>> ending=input('enter ending date:')
enter ending date:2016-1-30
>>> b=int(time.mktime(time.strptime(beginning,'%Y-%m-%d')))
>>> e=int(time.mktime(time.strptime(ending,'%Y-%m-%d')))
>>> day = 24*60*60
>>> for d in range(b,e+1,day):
        print(time.strftime('%Y-%m-%d',time.localtime(d)))

        
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-11-19 20:04:16 | 显示全部楼层    本楼为最佳答案   
>>> import time
>>> beginning=input('enter beginning date:')
enter beginning date:2015-1-30
>>> ending=input('enter ending date:')
enter ending date:2016-1-30
>>> b=int(time.mktime(time.strptime(beginning,'%Y-%m-%d')))
>>> e=int(time.mktime(time.strptime(ending,'%Y-%m-%d')))
>>> day = 24*60*60
>>> for d in range(b,e+1,day):
        print(time.strftime('%Y-%m-%d',time.localtime(d)))

        
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-11-19 20:15:11 | 显示全部楼层

不是print这个时间段的所有日期,是选取list里面,在这个年份范围内的所有sublist
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-11-19 20:19:57 | 显示全部楼层
原理一样的,自己看,懂了就自己写~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-11-19 20:28:33 | 显示全部楼层
SixPy 发表于 2016-11-19 20:19
原理一样的,自己看,懂了就自己写~

我不懂的是怎么让比如 一个东西代表出一个范围,然后判断sublist里的年份在这个范围内,跟time没有关系
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-11-19 20:32:28 | 显示全部楼层
thyx 发表于 2016-11-19 20:28
我不懂的是怎么让比如 一个东西代表出一个范围,然后判断sublist里的年份在这个范围内,跟time没有关系

那你举几个例子总会吧~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-11-19 20:44:53 | 显示全部楼层
本帖最后由 thyx 于 2016-11-19 20:47 编辑
SixPy 发表于 2016-11-19 20:32
那你举几个例子总会吧~

#这边是一个书名,作者,出版商,出版日期,书的类型的列表,导入进去(比如这几个)
#1876        Gore Vidal        Random House        4/11/1976        Fiction
#23337        Stephen King        Scribner        11/27/2011        Fiction
#...and Ladies of the Club        Helen Hooven Santmeyer        Putnam        7/8/1984        Fiction
#1st to Die        James Patterson        Little, Brown        3/25/2001        Fiction
#2nd Chance        James Patterson        Little, Brown        3/24/2002        Fiction
#3rd Degree        James Patterson        Little, Brown        3/21/2004        Fiction
#4th of July        James Patterson        Little, Brown        5/22/2005        Fiction
#61 Hours        Lee Child        Delacorte        6/6/2010        Fiction
lines = open('NYT-bestsellers.txt').read().splitlines()
book = []
for x in lines:
    book.append(x.split('\t'))
beginning=input('beginning:')
ending=input('ending:')
#现在就是全部的是一个list,每一行是一个sublist,然后选年份,beginning一个年份和ending一个年份,把这个年份之间的sublist给print出来
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-11-19 20:55:26 | 显示全部楼层

看2楼的例子,理解日期转换。你就知道怎么处理了~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-6-17 06:30

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表