吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 977|回复: 11
收起左侧

[求助] python的 有关生成列表的问题,

[复制链接]
wolaileo 发表于 2020-7-30 15:52
本帖最后由 wolaileo 于 2020-7-30 16:45 编辑

如何才能实现如下效果:

我直接填入范围 20190101-8  20190102-3,
这个范围 -号前面是年月日,-号后面是range(0,11)
代码就能生成列表:
20190101-8
20190101-9
20190101-10
20190102-0
20190102-1
20190102-2
20190102-3


我自己的代码,实现不了这样的效果。搞不懂这个循环要如何写了。请各位帮忙
[Python] 纯文本查看 复制代码
# -*- coding: utf-8 -*-

import time
from datetime import datetime

date_list=[datetime.strftime(x,'%Y%m%d') for x in list(pd.date_range('20190101', '20190102'))]
#print(date_list)
d_list=[]
for m in date_list:
  for n in range(10):
    d_list.append( m + str(n).zfill(2))
#print(d_list)


发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

Ldfd 发表于 2020-7-30 16:03
没看明白什么效果
8,9 然后却0,1,2,3
还判断大于5??
xccxvb 发表于 2020-7-30 16:07
本帖最后由 xccxvb 于 2020-7-30 16:13 编辑

我没看懂你的pd.date_range是哪里来的,不过今天刚好写了一个超级简单的列表生成,你可以参考参考
[Python] 纯文本查看 复制代码
from random import randint
number = input('请输入平安经词数:')
with open('平安经.txt', 'w', encoding='utf-8') as f:
    f.writelines([chr(randint(0x4e00, 0x9fbf))+chr(randint(0x4e00, 0x9fbf))+'平安, ' for i in range(int(number))])

免费评分

参与人数 1吾爱币 +1 收起 理由
麦田孤望者 + 1 这工具可太生草了哈哈哈

查看全部评分

senooo 发表于 2020-7-30 16:27
Light紫星 发表于 2020-7-30 16:31
[Python] 纯文本查看 复制代码
# -*- coding: utf-8 -*-
 
import time
from datetime import datetime

def gettimestamp(x):
    timeArray = time.strptime(x,'%Y%m%d') 
    return int(time.mktime(timeArray))

def formattime(timeStamp):
    timeArray = time.localtime(timeStamp)
    otherStyleTime = time.strftime('%Y%m%d', timeArray)
    return otherStyleTime

date1='20190101-8'
date2='20190103-3'

date1split = date1.split('-')
date2split = date2.split('-')


nowdate = gettimestamp(date1split[0])
date1count = int(date1split[1])
utildate = gettimestamp(date2split[0])
date2count = int(date2split[1])

ret = []
flag = 0
while nowdate<=utildate:
    if(flag==0):
        flag=1
        for i in range(date1count,10):
            ret.append(formattime(nowdate)+'-'+str(i)) 
    elif(nowdate==utildate):
        for i in range(0,date2count):
            ret.append(formattime(nowdate)+'-'+str(i)) 
    else:
        for i in range(0,10):
            ret.append(formattime(nowdate)+'-'+str(i))
    nowdate += 86400

print(ret)

免费评分

参与人数 1热心值 +1 收起 理由
wolaileo + 1 用心讨论,共获提升!

查看全部评分

 楼主| wolaileo 发表于 2020-7-30 16:42
Ldfd 发表于 2020-7-30 16:03
没看明白什么效果
8,9 然后却0,1,2,3
还判断大于5??

你好 前面说明有了呀

这个范围 -号前面是年月日,-号后面是range(0,10)


不要照我的代码。我的代码实现不了我要的效果
 楼主| wolaileo 发表于 2020-7-30 16:43
Light紫星 发表于 2020-7-30 16:31
[mw_shl_code=python,true]# -*- coding: utf-8 -*-

import time

非常谢谢,我看看效果。
 楼主| wolaileo 发表于 2020-7-30 16:54
Light紫星 发表于 2020-7-30 16:31
[mw_shl_code=python,true]# -*- coding: utf-8 -*-

import time

刚才测试过了,就是要 这样的效果。

不知道是否还有更简练的写法。。
非常感谢了。
Light紫星 发表于 2020-7-30 17:06
wolaileo 发表于 2020-7-30 16:54
刚才测试过了,就是要 这样的效果。

不知道是否还有更简练的写法。。

能实现就可以了,/滑稽
学着用 发表于 2020-7-30 17:19
本帖最后由 学着用 于 2020-7-30 17:21 编辑
xccxvb 发表于 2020-7-30 16:07
我没看懂你的pd.date_range是哪里来的,不过今天刚好写了一个超级简单的列表生成,你可以参考参考
[mw_shl ...
这个列表比较工整
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-26 13:40

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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