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

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

如果另一個(gè)列表的某個(gè)條件為真,則覆蓋列表值(python)

如果另一個(gè)列表的某個(gè)條件為真,則覆蓋列表值(python)

Go
慕無忌1623718 2021-11-23 16:32:11
不幸的是,我無法更具體地說明我的標(biāo)題,但舉個(gè)例子應(yīng)該可以清楚地說明我的問題。我有兩個(gè)列表 f 和 a,如果 f[i] 等于 f[i-1]。我想在 f 中有一個(gè)新條目,它等于 f[i] 和 f[i-1] (顯然)并覆蓋它們。在 a 我想必須 a_new = a[i] + a[i-1] 替換 a[i] 和 a[i-1]。f = [10, 25, 50, 50, 75, 100, 1000, 1000, 1100, 1100]a = [1, 3, 2, 4, 5, 3, 10, 15, 5, 5]我想要的輸出是:f = [10, 25, 50, 75, 100, 1000, 1100]a = [1, 3, 6, 5, 3, 25, 10]我相信某種列表理解將是最佳方法,但我還想不通。我不需要成為列表理解,只要有一些解決方案我就很高興。
查看完整描述

2 回答

?
慕虎7371278

TA貢獻(xiàn)1802條經(jīng)驗(yàn) 獲得超4個(gè)贊

您可以zip將列表放在一起,用于groupby按f值對對進(jìn)行分組,然后a對每個(gè)組的值求和。然后你只需要將它們解壓縮回單獨(dú)的列表


from itertools import groupby

from operator import itemgetter


groups = groupby(zip(f, a), key=itemgetter(0))

f_a_generator = ((k, sum(map(itemgetter(1), pairs))) for k, pairs in groups)

f1, a1 = zip(*f_a_generator)  # map(list, ...) If you need them as lists


print(f1, a1, sep='\n')

# (10, 25, 50, 75, 100, 1000, 1100)

# (1, 3, 6, 5, 3, 25, 10)

要在評論中回答您的問題,您可以更改行


sum(map(itemgetter(1), pairs)))

調(diào)用某些函數(shù),而不是sum:


def logarithmic_sum(values):

    return 10*np.log10(sum((10**(val/10)) for val in values))


groups = groupby(zip(f, a), key=itemgetter(0))

f_a_generator = ((k, logarithmic_sum(map(itemgetter(1), pairs))) for k, pairs in groups)

f1, a1 = zip(*f_a_generator)


print(f1, a1, sep='\n')

# (10, 25, 50, 75, 100, 1000, 1100)

# (1.0000000000000002, 2.999999999999999, 6.124426027943397, 5.0, 2.999999999999999, 16.193310480660944, 8.010299956639813)



查看完整回答
反對 回復(fù) 2021-11-23
?
SMILET

TA貢獻(xiàn)1796條經(jīng)驗(yàn) 獲得超4個(gè)贊

對于第一個(gè)數(shù)組情況:


for i in range(1, len(f)-2):

    if f[i] == f[i-1]:

        del f[i]


print(f)


查看完整回答
反對 回復(fù) 2021-11-23
  • 2 回答
  • 0 關(guān)注
  • 229 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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