外側のforループでは、をx座標に、内部ループでy座標をk2
としています。このループは基本的に他の目的のためのものであり、tempディクショナリを作成することです(他の目的のために)。だから、私はループ構造を削除することはできません。私は座標が、k2
の内側のループで計算する値を持つcoo_matrixを作成しようとしています。ここ疎Coo_matrixを作成し、2つのforループ構造内で更新する
は私のこの短いコードである:
for k1,v1 in s.iteritems():
xdict[k1] = None
for k2,v2 in s.iteritems():
tempdict = {}
if k2 in xdict.keys():
continue
if k1 == k2:
continue
tempdict[k1] = v1
tempdict[k2] = v2
r = reduce(set.intersection, (set(val) for val in tempdict.values()))
new_kee = 'C(' + k1 + ',' + k2 + ')'
ydict[new_kee] = len(r)
入力「S」、次のサンプルのキーと値を持つ辞書です:
216 [234]
1305 [234, 234, 298, 429]
2961 [241, 264]
211 [143]
....
内側ループは、それぞれの交点を算出します重複することなく2つのレコードの私の新しい辞書では、交差点の結果の出力は以下のような保存されます。
-
:この時点で
c(216,1305) -> 1
c(216,2961) -> 0
c(216,211) -> 0
c(1305,2961) -> 0
c(1305,211) -> 0
c(2961,211) -> 0
...
、私はそのようなものとして上記算出された座標とスパースcoo_matrixに値を格納したいです座標の
等を格納する座標の
座標(k1,k2)
の値がlen(r)
の疎なcoo_matrixを作成する際に助けが必要です。固定サイズのすべてのループ構造の前に行列を作成してループ内で更新する必要があるかどうか、あるいは他の方法ではわからない。
この問題について何かお手伝いしてもらえますか?
私はあなたが助けて欲しいもの見当がつかない...たぶん入力(S'は、最初は何であるか ')と出力をお見せ達成したい。 –
Sir、入力は次のサンプルキーと値を持つ辞書です:216 [234] 1305 [234,234,298,429] 2961 [241,264] 211 [143] .... .. – Gowtham
@Gowthamあなたの質問についての追加情報を提供する際には、コメントをコメントとして追加するのではなく、情報を編集してください。 – buczek