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

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

Python 將數(shù)組拆分為正數(shù)和負(fù)數(shù),同時(shí)保持列表結(jié)構(gòu)

Python 將數(shù)組拆分為正數(shù)和負(fù)數(shù),同時(shí)保持列表結(jié)構(gòu)

明月笑刀無(wú)情 2021-07-29 13:15:44
我遇到了這個(gè)問(wèn)題,我必須在保留列表結(jié)構(gòu)的同時(shí)拆分負(fù)數(shù)和正數(shù)列表。零被認(rèn)為是積極的例子:輸入數(shù)據(jù)[1,  1,  1, -2, -2, -2,  1,  1,  1, -2, -2, -2,  1,  1,  1]輸出數(shù)據(jù)[[1,  1,  1], [-2, -2, -2], [1,  1,  1], [-2, -2, -2], [1,  1,  1]]任何人都可以請(qǐng)給我一個(gè)好的方向,哪個(gè)是解決這個(gè)問(wèn)題的好方法?我已經(jīng)研究np.split過(guò)條件或切片條件,但也沒(méi)有運(yùn)氣。
查看完整描述

2 回答

?
繁星coding

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

如果沒(méi)有進(jìn)一步的研究,我會(huì)使用標(biāo)準(zhǔn)庫(kù)中的itertools.groupby。不過(guò)也許有更好的解決方案。


import itertools

vals = [1,  1,  1, -2, -2, -2,  1,  1,  1, -2, -2, -2,  1,  1,  1]

splitted = [list(g) for i, g in itertools.groupby(vals,lambda x: x<0)]

如評(píng)論中所述,您必須選擇如何處理 0 并相應(yīng)地調(diào)整 lambda。


查看完整回答
反對(duì) 回復(fù) 2021-08-03
?
GCT1015

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

您可以使用熊貓:


import pandas as pd

l = [1,  1,  1, -2, -2, -2,  1,  1,  1, -2, -2, -2,  1,  1,  1]

s = pd.Series(l)

s.groupby(s.diff().ne(0).cumsum()).agg(list).tolist()

輸出:


[[1, 1, 1], [-2, -2, -2], [1, 1, 1], [-2, -2, -2], [1, 1, 1]]

使用 numpy 的另一種解決方案:


np.split(l, np.diff(l).nonzero()[0]+1)

輸出:


[array([1, 1, 1]),

 array([-2, -2, -2]),

 array([1, 1, 1]),

 array([-2, -2, -2]),

 array([1, 1, 1])]


查看完整回答
反對(duì) 回復(fù) 2021-08-03
  • 2 回答
  • 0 關(guān)注
  • 184 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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