質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Python 2.7

Python 2.7は2.xシリーズでは最後のメジャーバージョンです。Python3.1にある機能の多くが含まれています。

Q&A

解決済

1回答

907閲覧

python 2元配列を教えてください

ynwa

総合スコア12

Python 2.7

Python 2.7は2.xシリーズでは最後のメジャーバージョンです。Python3.1にある機能の多くが含まれています。

0グッド

0クリップ

投稿2016/08/27 04:22

###前提・実現したいこと
idとitemを対応付けるような配列を作りたいです.

###購買履歴データ
rireki.txt

id,item 1,a 2,c 2,d 3,b 4,e 5,c 1,b 1,a 6,a 6,a 6,b

###結果イメージ

id/item | a b c d e - |--------------- 1 | 1 1 0 0 0 2 | 0 0 1 1 0 3 | 0 1 0 0 0 4 | 0 0 0 0 1 5 | 0 0 1 0 0 6 | 1 1 0 0 0

###実際の結果
a[1][a]=1,a[1][b]=1,....,a[6][e]=0

のような配列がほしいです.

ご教授お願い致します.

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

配列と連想配列の組み合わせでどうでしょうか。
tableはリスト型で、tableの各要素がディクショナリ型です。

python

1table = [] # list型 2table.append({"item1":"a", "item2":"b"}) # 0番目にdictionary型の要素を追加 3table.append({"item1":"c", "item3":"d", "item4":"e"}) # 1番目にdictionary型の要素を追加 4table.append({"item1":"f"}) # 2番目にdictionary型の要素を追加 5 6# 中身を表示 7print table[0]["item1"] 8print table[0]["item2"] 9print table[1]["item1"] 10print table[1]["item3"] 11print table[1]["item4"] 12print table[2]["item1"]

実行結果

a b c d e f

2016/8/28追記:
0or1のある・ないだけ知れば良いのであればディクショナリ型を使うまでもなさそうですね。
set型にしてitem名だけ保持させて、呼び出し時に判定します。

python

1table = [] 2 3table.append(["a","c","d"]) 4table.append(["a","b"]) 5table.append(["a","d"]) 6 7print "a" in table[0] 8print "b" in table[0] 9print "c" in table[0] 10print "d" in table[0] 11 12print "a" in table[1] 13print "b" in table[1] 14print "c" in table[1] 15print "d" in table[1] 16 17print "a" in table[2] 18print "b" in table[2] 19print "c" in table[2] 20print "d" in table[2]

実行結果

True False True True True True False False True False False True

投稿2016/08/27 05:29

編集2016/08/28 02:05
gtracker64

総合スコア49

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ynwa

2016/08/27 06:00

大きなデータを扱いたいので自動で配列が0か1を決定したいところなのですが...
gtracker64

2016/08/28 02:05 編集

回答を編集しました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問