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

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

制作一個(gè) 3D 數(shù)組,其中每個(gè)項(xiàng)目引用 Python 中的當(dāng)前行、列和項(xiàng)目

制作一個(gè) 3D 數(shù)組,其中每個(gè)項(xiàng)目引用 Python 中的當(dāng)前行、列和項(xiàng)目

我正在嘗試制作一個(gè) 3D 數(shù)組,其中每個(gè)元素都引用當(dāng)前行、列和項(xiàng)目。所以如果我有x=[0,1],y=[0,1,2]和item=['a','b'], 我希望輸出是arr = [ [ [00a, 10a], [01a, 11a], [02a, 12a] ], [ [00b, 10b], [01b, 11b], [02b, 12b] ]]我知道這可以通過(guò)三重循環(huán)輕松完成for i in range(len(x)):  for j in range(len(y)):    for it in range(len(item)):      arr[i,j,it] = str(i)+str(j)+it但是有沒(méi)有更優(yōu)雅的方法來(lái)做到這一點(diǎn),例如使用一些 numpy 命令?謝謝!
查看完整描述

2 回答

?
慕田峪7331174

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

您可以使用列表理解:


arr=[[[f'{i}{j}{k}' for k in item]for j in y]for i in x]

輸出:


arr

[[['00a', '00b'], ['01a', '01b'], ['02a', '02b']],

 [['10a', '10b'], ['11a', '11b'], ['12a', '12b']]]

itertools使用and的另一種選擇numpy:


import itertools 

import numpy as np

prod=itertools.product(x,y,item)

prod=list(map(lambda x: f'{x[0]}{x[1]}{x[2]}',prod))

np.array(prod).reshape(len(x),len(y),len(item))

輸出:


array([[['00a', '00b'],

        ['01a', '01b'],

        ['02a', '02b']],


       [['10a', '10b'],

        ['11a', '11b'],

        ['12a', '12b']]], dtype='<U3')


查看完整回答
反對(duì) 回復(fù) 2023-03-16
?
隔江千里

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

這是另一個(gè)沒(méi)有使用 numpy 循環(huán)的解決方案:


import numpy as np


x=np.array([0,1]).astype(str)

y=np.array([0,1,2]).astype(str)

items=np.array(['a','b'])



temp= np.core.defchararray.add(y[:,np.newaxis], items)

result = np.core.defchararray.add(x[:,np.newaxis,np.newaxis], temp)


print(result)

輸出:


[[['00a' '00b']

  ['01a' '01b']

  ['02a' '02b']]


 [['10a' '10b']

  ['11a' '11b']

  ['12a' '12b']]]


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

添加回答

舉報(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)