質問編集履歴

2

ソースコードのインデント

2018/10/09 06:38

投稿

Forestman
Forestman

スコア10

test CHANGED
File without changes
test CHANGED
@@ -49,50 +49,6 @@
49
49
 
50
50
 
51
51
  ### 該当のソースコード
52
-
53
- res={}
54
-
55
- res=defaultdict(x)
56
-
57
- for y in x:
58
-
59
- if type(int(y)) is int:
60
-
61
- res[int].append(y)
62
-
63
- elif typ(float(y)) is float:
64
-
65
- res[float].append(y)
66
-
67
- elif y.lower()=='true':
68
-
69
- if not bool in res:
70
-
71
- res[bool]=y.capitalize()
72
-
73
- else:
74
-
75
- res[bool].append(y.capitalize())
76
-
77
- elif y.lower()=='false':
78
-
79
- if not bool in res:
80
-
81
- res[bool]=y.capitalize()
82
-
83
- else:
84
-
85
- res[bool].append(y)
86
-
87
- else:
88
-
89
- if not str in res:
90
-
91
- res[str]=y
92
-
93
- else:
94
-
95
- res[str].append(y)
96
52
 
97
53
  ```ここに言語名を入力
98
54
 

1

Indent追加、実現したいことを具体的に表示

2018/10/09 06:38

投稿

Forestman
Forestman

スコア10

test CHANGED
File without changes
test CHANGED
@@ -1,12 +1,22 @@
1
1
  ### 前提・実現したいこと
2
2
 
3
- 初めて質問します。最初にリストの中にStrの型を持つ値があります。それを型毎に整理しなおし、辞書に登録したいです。例えば、辞書キーのIntの中に22、辞書Floatキーを作りその中に100.5、辞書キーstrの中に、A、B、*、<、300!など、Boolの中にTrueとFalseといったようにです。
3
+ 初めて質問します。現在リストの中にstrの型を持つ値があります。それを型毎に整理しなおし、辞書に登録したいです。例えば、辞書キーのIntの中に22、辞書Floatキーを作りその中に100.5、辞書キーstrの中に、A、B、*、<、300!など、Boolの中にTrueとFalseといったようにです。
4
+
5
+ もう少し具体的に言うと、整理した辞書のデータを最終的にこのような形でPrintしたいと思っています。
6
+
7
+ int: 100
8
+
9
+ float: 100.5
10
+
11
+ bool: True, False
12
+
13
+ str: '*', '300?', '<', 'AA', 'BB', 'CC', 'dd'
4
14
 
5
15
 
6
16
 
7
17
  ### 発生している問題・エラーメッセージ
8
18
 
9
- defaultdictを使えばできるようなのですが、TypeError: first argument must be callable or Noneといったエラーが出てしまいます。またもし他の方法で、簡単に型毎に整理できる方法があれば教えてください。データはXというリストに入っています。また、strの値をintに変えるときに普通はint(y)とすると型が変わると書いてあったのですが、以下のコードでIF文で書くと、すべてStrの中に入ってしまいます。うまく型毎の条件を定義できる方法があれば、教えてください。
19
+ defaultdictを使えばできるようなのですが、TypeError: first argument must be callable or Noneといったエラーが出てしまいます。またもし他の方法で、簡単に型毎に整理できる方法があれば教えてください。データはXというリストに入っています。また、strの値をintに変えるときに普通はint(y)とすると型が変わると書いてあったのですが、if文で書くと、すべてstrの中に入ってしまいます。うまく型毎の条件を定義できる方法があれば、教えてください。
10
20
 
11
21
  ```
12
22
 
@@ -86,7 +96,49 @@
86
96
 
87
97
  ```ここに言語名を入力
88
98
 
89
- ソースコード
99
+ res={}
100
+
101
+ res=defaultdict(x)
102
+
103
+ for y in x:
104
+
105
+ if type(int(y)) is int:
106
+
107
+ res[int].append(y)
108
+
109
+ elif typ(float(y)) is float:
110
+
111
+ res[float].append(y)
112
+
113
+ elif y.lower()=='true':
114
+
115
+ if not bool in res:
116
+
117
+ res[bool]=y.capitalize()
118
+
119
+ else:
120
+
121
+ res[bool].append(y.capitalize())
122
+
123
+ elif y.lower()=='false':
124
+
125
+ if not bool in res:
126
+
127
+ res[bool]=y.capitalize()
128
+
129
+ else:
130
+
131
+ res[bool].append(y)
132
+
133
+ else:
134
+
135
+ if not str in res:
136
+
137
+ res[str]=y
138
+
139
+ else:
140
+
141
+ res[str].append(y)ソースコード
90
142
 
91
143
  ```
92
144