亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

javascript - python小算法

瀏覽:90日期:2022-06-28 13:17:04

問題描述

有個日期字符串list,如下:

lst = [’2017-06-01’, ’2017-06-08’, ’2017-06-15’, ’2017-06-22’, ’2017-06-29’, ...]

求s = [’2017-06-09’]與lst中哪個日期字符串最相近

思路1:將s和lst的值轉換為日期,遍歷比較相差的秒數,最小的就是要找的日期字符串。

有沒有更好的實現方法??

問題解答

回答1:

我給個思路給你參考下lst.append(s)lst.sort()num=lst.index(s)然后比較lst[num-1]和lst[num+1]這兩個相差的秒數,小的一個就是結果,這樣就不用遍歷算時間戳了。覺得不錯就給贊加采納吧。

回答2:

將日期通過去掉-轉換為整數, 再分別與s中日期相減,得到絕對值最小的數為最相近的日期.

# Python codelst = [’2017-06-01’, ’2017-06-08’, ’2017-06-15’, ’2017-06-22’, ’2017-06-29’]s = [’2017-06-09’]date = [’’.join(x.split(’-’)) for x in lst]datetoint = [int(x) for x in date]gaps = [abs(x - int(’’.join(s[0].split(’-’)))) for x in datetoint]mostrecentdate = lst[gaps.index(min(gaps))]print(mostrecentdate)回答3:

感覺lz的意思是不要遍歷lst,不管是sort還是通減其實都發生了遍歷應該用二分法吧,大概是這意思

i = 0j = len(list)while True: index = (i + j) / 2 if s > lst[index]:i = index else:j = index continue

就當偽碼看了,反正是這意思,這樣遍歷次數最少。

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 国产精品久久vr专区 | 一区二区成人国产精品 | 久久久久国产精品免费免费 | 中文字幕影视 | 成人国产精品视频频 | 国产欧美一区二区三区免费 | 在线看片欧美 | 乱理最新乱理片中文 | 国产目拍亚洲精品区一区 | 成 人 黄 色 大 片 | 亚洲国产成人精品久久 | 亚洲va欧美va国产 | 日本欧美做爰全免费的视频 | 性满足久久久久久久久 | 欧美激情一区二区三级高清视频 | 色男人影院 | 乱一色一一区二区三区 | 91久久国产综合精品 | 日本一二三本免费视频 | 中国一级特黄特爽刺激大片 | 日本一本色道免费视频 | 精品视频久久久久 | 久久久久女人精品毛片 | 女性无套免费网站在线看 | 亚洲午夜一区二区三区 | 成 人 黄 色视频免费播放 | 国产高清a毛片在线看 | 特大一级aaaaa毛片 | 欧美日韩色综合网站 | 久久久成人啪啪免费网站 | 亚洲美洲国产日产 | 国产在线观看免费一级 | 小明看看永久视频 | 黄色美国大片 | 国产女主播在线播放 | 欧美日韩中文一区 | 在线色图 | 欧美视频在线观看一区二区 | 日本视频免费高清一本18 | 国产精品黄页网站在线播放免费 | 91四虎国自产在线播放线 |