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

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

Python:比較字符串列表的元素,根據(jù)相似性排序

Python:比較字符串列表的元素,根據(jù)相似性排序

桃花長相依 2023-02-15 16:45:52
背景我有兩個列表:list_1 = ['a_1', 'b_2', 'c_3'] list_2 = [ 'g b 2', 'f a 1', 'h c 3']請注意,列表中字符串元素的格式不同。換句話說,其中一個列表的元素不是另一個列表的子集。我想要比較list 1和list 2的元素,確定list 2中的元素與list 1相似然后我想按照['b_2', 'a_1', 'c_3']與列表 2 相同的順序?qū)α斜?1 進(jìn)行排序存在的問題Q1:這里,一個列表的元素在某種程度上與其他元素完全匹配 '2010-01-01 00:00' 和 '2010-01'。但是,就我而言,格式可能不同。Q2的類似情況。還有其他幾個問題正在研究列表比較,但其中大多數(shù)比較相似的字符串。實(shí)際列表list_1 = ['f_Total_water_withdrawal', 'f_Precipitation', 'f_Total-_enewable_water_resources', 'f_Total_exploitable_water_resources',]list_2 = ['Precipitation','Total-renewable-water-resources', 'Total exploitable water resources', 'Total water withdrawal']
查看完整描述

3 回答

?
一只萌萌小番薯

TA貢獻(xiàn)1795條經(jīng)驗(yàn) 獲得超7個贊

我可能會誤解,但如果您的列表與您的示例相對應(yīng),您可以簡單地定義list_1using list_2:


list_2 = ['g b 2', 'f a 1', 'h c 3']

list_1 = [f"{s[2]}_{s[4]}" for s in list_2]


print(list_1)

輸出:


['b_2', 'a_1', 'c_3']


查看完整回答
反對 回復(fù) 2023-02-15
?
夢里花落0921

TA貢獻(xiàn)1772條經(jīng)驗(yàn) 獲得超6個贊

我相信有一些缺失的信息。盡管如此,對于給定的列表,我們可以設(shè)計這種方法:


# 1. Format list 2 to look like list 1

list_2_mod = [s[2:].replace(" ", "_") for s in list_2]


# 2. Filter elements in list 2 not in list 1

list_final = [s for s in list_2_mod if s in list_1]

聰明的做法是,給定您的 list_1(具有唯一元素,并且所有元素在 list_2 中具有明顯的等效項(xiàng)),您只需要第一步。無需排序!list_2 已經(jīng)排序好了。


查看完整回答
反對 回復(fù) 2023-02-15
?
慕碼人8056858

TA貢獻(xiàn)1803條經(jīng)驗(yàn) 獲得超6個贊

我想我大概明白你想做什么。請看下面:


list_1 = ['a_1', 'b_2', 'c_3']

list_2 = [ 'g b 2', 'f a 1', 'h c 3']

dict_1 = {item1[0] + ' ' + item1[-1]: item1 for item1 in list_1}

l = [dict_1[item2[2:]] for item2 in list_2 if item2[2:] in dict_1]


查看完整回答
反對 回復(fù) 2023-02-15
  • 3 回答
  • 0 關(guān)注
  • 241 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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