1、実施転置行列:
#矩阵的转置 JZ = [1,2,3]、[4,5,6]、[7,8,9 ] プリント(JZ) のための I、行に列挙(JZ) のために J、COL 列挙(行): もし I < J: JZ [I]、[J]、JZ [j]は[I] = JZ [J] [i]は、JZ [I] [J] プリント(JZ)
#enumerate用法:
構文:列挙(配列、[ スタート= 0 ])
- シーケンス - 反復処理をサポートするためのシーケンス、イテレータ、またはその他のオブジェクト。
- スタート - インデックス位置を起動します。
例:
>>> 季節= [ ' 春' 、' 夏' 、' 秋' 、' 冬' ]
>>> リスト(列挙(季節))[ (0 、' 春' )、(1 、' 夏' )、(2 、' 秋' )、(3 、' 冬' )]
>>> 一覧(列挙(シーズンズ、スタート= 1 ))インデックスから#1開始
[ (1 、' 春' )、(2 、' 夏' )、(3 、' 秋' )、(4 、' 冬' )]
達成するための別の方法:
#矩阵的转置 JZ = [1,2,3]、[4,5,6]、[7,8,9 ] プリント(JZ) のための I における範囲(LEN(JZ)) のために J で範囲(I): JZ [I]、[J]、JZ [j]は[I] = JZ [J] [i]は、JZ [I] [J] プリント(JZ)
不規則な行列の転置の実装:
#不規則長転置行列 JZ = [[1,2,3]、[4,5,6 ] プリント(JZ) T = [] のための行にJZ: のための I、COL に列挙(行)。 IF LEN(T)<I + 1: #JZ奇数行番号はT追加する t.append([]) Tを[I] .append(COL) 印刷(T)
(21未満)2、10のランダムに生成された数字は、いくつかの統計的重複数、すなわち、何があり、統計的にいくつかの数字を繰り返し、何あります。
インポートランダム NUMS = [] のための _ 中範囲(10 ): nums.append(random.randrange( 21である)) プリント(NUMS) S、D = []、[] #は、同じ数の数値を保持するために使用され異なるいくつかの図面 レンス= LEN(NUMS) 状態 = [0] *レンスの #マーキング、重複数の位置をマーキングするために使用 するための I にレンジ(レンス): #素子の第1層をサイクル毎にトラバーサル フラグ=偽 #各要素は、再フラグ初期値にする前に比較しなければならない IF状態[I] == 1: #i番目の要素は、状態の背面に応じて、次に比較しない、繰り返された場合[J ] = 1と国家[I] = 1は、 続行 のためにJ におけるレンジ(I + 1、レンス。): #iは、比較位置の後ろにされる要素の各要素iについて IF。州立[J] == 1 : 続行 IF NUMS [I] == NUMS [J]。 フラグ = TRUE #フラグであるTrueに割り当てられた繰り返しを、この位置は、状態1とマークされる。 状態[J] = 1。 IF フラグ: s.append(NUMS [I]) 状態[I] = 1。 他: d.append( NUMS [I])を印刷する(" アレイを有し= {{0}}と同じ。1 " .format(S、lenの(S))) 印刷(" 異なるアレイを有し= {{0}}。1 " .format(D、LEN (D)))
結果:
[14、3、9、12、7、9、11、17、11、17] 同一アレイ= [9、11、17]は3持っている 別の配列= [14、3、12、7] 4を有します