Pythonå®ç°ç©éµè½¬ç½®çæ¹æ³åæ
æ¬æå®ä¾è®²è¿°äºPythonå®ç°ç©éµè½¬ç½®çæ¹æ³ãå享ç»å¤§å®¶ä¾å¤§å®¶åèï¼å
·ä½å¦ä¸ï¼
åå 天群éæåå¦æåºäºä¸ä¸ªé®é¢ï¼æ头ç°å¨æ个å表ï¼å表éé¢ä¸¤ä¸ªå
ç´ ï¼æ¯å¦[1, 2]ï¼ä¹åä¸æçæ·»å æ°çå表ï¼å¾åæ¥ç¸åºä½ç½®æ·»å ãä¾å¦æ·»å [3, 4]使åå表æ©å
为[[1, 3], [2, 4]]ï¼åæ·»å [5, 6]æ©å
为[[1, 3, 5], [2, 4, 6]]ççã
å
¶å®ä¸å¨èççè¯ï¼ç¨ä¸ªäºé循ç¯å¾å®¹æååºæ¥ï¼
def trans(m):
a = [[] for i in m[0]]
for i in m:
for j in range(len(i)):
a[j].append(i[j])
return a
m = [[1, 2], [3, 4], [5, 6]] # æ³è±¡ç¬¬ä¸ä¸ªå表æ¯åå§çï¼åé¢çæ¯å¾éæ·»å ç
print trans(m) # result:[[1, 3, 5], [ 2, 4, 6]]
ç¶èä¸ç®¡æä¹çè¿ç§ä»£ç é½å¾ä¸ã
ä»ç»çäºä¸ä¸mè¿ç§ç»æãççï¼è¿ä¸æ¯åå
¸çiteritems()çç»æä¹ï¼å¦ædict(m)ï¼é£ä¹ç»æââä¸å°±æ¯keys()åvalues()ä¹ï¼
äºæ¯å©ç¨åå
¸è½¬æ¢ä¸ä¸ï¼
def trans(m):
d = dict(m)
return [d.keys(), d.values()]
å¯æ¯åä»ç»æ³æ³ï¼è¿éé¢æbugãå¦ææ·»å å表ç第ä¸ä¸ªå
ç´ ç¸åï¼ä¹å°±æ¯è½¬åä¹ådictçkeyç¸åï¼é£è¯å®å°±ä¸è¡äºåï¼åµä¸ï¼å¦æåå§å表ä¸æ¯ä¸¤ä¸ªï¼èæ¯å¤ä¸ªï¼è¯å®ä¸è½ç¨åå
¸çåï¼äºæ¯è¿ç§æ¹æ³ä½ç½¢ï¼è¿æ¯å¥½å¥½ççå表çå½¢ç¶ã
ç¶ååæ¯ä¸ä¸ªä¸å°å¿çåç°ï¼
è¿ç§è½¬ç½®ç©éµçå³æ¶ææ¯æä¹åäºï¼
没éï¼è¿ä¸ªé®é¢çæ¬è´¨å°±æ¯æ±è§£è½¬ç½®ç©éµãäºæ¯å°±ç®åäºï¼è¿æ¯ç¨ä¸ªä¸å¨èççåæ³ï¼
def trans(m):
for i in range(len(m)):
for j in range(i):
m[i][j], m[j][i] = m[j][i], m[i][j]
return m
m = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
print trans(m)
å
¶å®è¿æ¯æç¹bugçï¼çèµ·æ¥æ¯å¥½ç¨çï¼ç¶èè¿ä¸ªç©éµè¦æ±è¡åé¿åº¦ç¸åæè¡ã
æåï¼ç¾¤éæ大ç¥è¯´ï¼å¦æåªæ¯è½¬ç½®ç©éµçè¯ï¼ç´æ¥zip就好äºãè¿ææ³èµ·æ¥zipçæ¬è´¨å°±æ¯è¿æ ·çï¼ååºå表ä¸ç对åºä½ç½®çå
ç´ ï¼ç»ææ°å表ï¼æ£æ¯è¿ä¸ªé¢ç®è¦åçã
æ以æç»ï¼è¿ä¸ªé¢ç®ï¼è½¬ç½®ç©éµï¼çpython解æ³å°±ç¸å½å¥å¦äºï¼
def trans(m):
return zip(*d)
没éï¼å°±è¿ä¹ç®åãpythonçé
åã
温馨提示:答案为网友推荐,仅供参考