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

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

將所有數(shù)組連接到一個(gè)更大的數(shù)組 python

將所有數(shù)組連接到一個(gè)更大的數(shù)組 python

ITMISS 2021-08-11 21:59:29
我有一個(gè)很大的數(shù)組,里面有很多子數(shù)組,我試圖加入里面的所有子數(shù)組。我知道如何連接數(shù)組,但由于內(nèi)部數(shù)組的數(shù)量各不相同,我不知道要制作一個(gè)函數(shù)來(lái)連接這些數(shù)組。我知道我需要一個(gè)或多個(gè)循環(huán),但我不知道該怎么做。到目前為止,我一直像這樣手動(dòng)進(jìn)行操作,并一直進(jìn)行到最后一個(gè)索引:ldata  = ldata[0]+ldata[1]+ldata[2]+ldata[3]+ldata[4]其中 ldata 是更大的列表,所有索引都是內(nèi)部列表。我該怎么做呢?編輯:這是一個(gè)例子a = [[1,2],[3,4],[5,6]]
查看完整描述

4 回答

?
30秒到達(dá)戰(zhàn)場(chǎng)

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

您可以使用chain.from_iterable:


from itertools import chain


a = [[0, 1], [2, 3], [4, 5], [6, 7]]

result = list(chain.from_iterable(a))


print(result)

輸出


[0, 1, 2, 3, 4, 5, 6, 7]


查看完整回答
反對(duì) 回復(fù) 2021-08-11
?
白板的微信

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

您可以抓取每個(gè)子列表并添加到新列表中。


new_ldata = []

for sublist in ldata:

    new_ldata += sublist


查看完整回答
反對(duì) 回復(fù) 2021-08-11
?
守候你守候我

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

您可以為此使用 numpy concatenate


import numpy as np

x = [[1,1],[2,2,2],[3],[4,4,4,4]]

concated_x = np.concatenate(x) # now in numpy array form

concated_x = list(concated_x) # if you want it back to a list form


查看完整回答
反對(duì) 回復(fù) 2021-08-11
?
侃侃無(wú)極

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

如果您的列表不太長(zhǎng),請(qǐng)保持簡(jiǎn)單:


>>> a

[[1, 2, 3], [4, 5, 6], [7, 8, 9]]

>>> sum(a, [])

[1, 2, 3, 4, 5, 6, 7, 8, 9]

我做了一些計(jì)時(shí)測(cè)量:


>>> timeit.timeit('sum([[1,2,3],[4,5,6],[7,8,9]], [])')

6.547808872535825

>>> timeit.timeit('reduce(lambda a, c: a + c, [[1,2,3],[4,5,6],[7,8,9]], [])', setup="from functools import reduce")

10.435796303674579

列表越多,列表越長(zhǎng),解決方案的chain性能會(huì)更好:


a = [list(range(20)) for x in range(30)]

def test_sum():    

    return sum(a, [])

def test_chain():

    return list(itertools.chain.from_iterable(a))

def test_add():     

    result = []

    for i in a:

        result += i

    return result

def test_list_comprehension():

    return [x for l in a for x in l]

print(timeit.timeit(test_sum), timeit.timeit(test_chain), timeit.timeit(test_add), timeit.timeit(test_list_comprehension))

產(chǎn)量


18.778313734044787 7.5882537689758465 2.5082976589910686 13.912770285038278

這表明將數(shù)組與一個(gè)短函數(shù)相加也很不錯(cuò)。


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

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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