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

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

javascript - python小算法

瀏覽:105日期: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 編程
相關文章:
主站蜘蛛池模板: 国产麻豆免费 | 青青国产成人久久激情91麻豆 | 在线观看av片永久免费 | 91福利一区二区 | 国产在线看不卡一区二区 | 毛片免费全部完整播放 | 日韩精品一区二区三区国语自制 | 在线亚洲欧美 | 欧美精欧美乱码一二三四区 | 人久热欧美在线观看量量 | 欧美国产日韩精品 | 韩国三级一线观看久 | 日韩爽爽视频爽爽 | 一级做a爰片性色毛片小说 一级做a爰片性色毛片中国 | 日本人妖tubexxxx | 爱爱动态视频免费视频 | 一级特级欧美aa毛片免费 | 成人做爰免费视频免费看 | 亚洲国产精品免费在线观看 | 久久色播| 免费观看大片毛片 | 亚洲第一区在线观看 | 久久99精品久久久久久久野外 | 亚洲色在线视频 | 免费黄网站在线看 | 成人性生活免费看 | 中文字幕在线永久在线视频2020 | 久久er国产精品免费观看8 | 东莞毛片 | 亚洲国产成人在线 | 免费国产不卡午夜福在线 | 亚洲国产欧美一区二区欧美 | 国产亚洲片 | 韩日视频在线观看 | 国产亚洲欧美日韩在线看片 | 欧美成人性色大片在线观看 | 亚洲国产成人久久综合碰碰动漫3d | 国产麻豆自拍 | 欧美aaa大片| 欧美色色图 | 千百橹最新亚洲地址在线播放 |