第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

比較有序列表中的值

比較有序列表中的值

手掌心 2023-08-08 16:34:40
我開始了一個項目BeautifulSoup,需要比較有序列表中的值。請參閱下面的示例:list = [xxx, 09-11-2020, xxx, 09-13-2020,xxx, 09-09-2020, hhh, 09-10-2020, hhh, 09-11-2020, hhh , 09-15-2020, yyyy, 09-14-20-20,yyyy, 09-15-2020]我需要一個包含值的新列表:[xxx, 09-13-2020, hhh, 09-15-2020, yyy, 09-15-2020]我把它們從最小到最大組織起來
查看完整描述

1 回答

?
炎炎設計

TA貢獻1808條經(jīng)驗 獲得超4個贊

您可以使用chunkedmore-itertools 庫將列表分成對,然后循環(huán)遍歷這些對以查找每個鍵的最大日期,并將其存儲在字典中( ,last_val在下面的代碼中)。這可能是進一步處理最有用的形式。

如果您確實需要將其轉換回交錯形式,則可以將日期格式化回字符串,并使用chain標準庫中的函數(shù)將這些對展平回可迭代(flattened在下面的代碼中)或列表。

from datetime import datetime

from itertools import chain


from more_itertools import chunked


data = [

? ? 'xxx', '09-11-2020', 'xxx', '09-13-2020', 'xxx', '09-09-2020', 'hhh',

? ? '09-10-2020', 'hhh', '09-11-2020', 'hhh', '09-15-2020', 'yyyy',

? ? '09-14-2020', 'yyyy', '09-15-2020',

]


last_val = {}

for key, date_str in chunked(data, 2):

? ? date = datetime.strptime(date_str, '%m-%d-%Y').date()

? ? if key not in last_val or date > last_val[key]:

? ? ? ? last_val[key] = date


print(last_val)


flattened = chain(*(

? ? (key, date.strftime('%m-%d-%Y'))

? ? for key, date in last_val.items()

))


print(list(flattened))


查看完整回答
反對 回復 2023-08-08
  • 1 回答
  • 0 關注
  • 125 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號