Pythonのノート4

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を有します

おすすめ

転載: www.cnblogs.com/mapone/p/12032352.html