回答編集履歴
4
編集
test
CHANGED
@@ -54,23 +54,9 @@
|
|
54
54
|
|
55
55
|
---
|
56
56
|
|
57
|
-
**リストの要素がすべてintにキャスト出来るか確かめる
|
57
|
+
**リストの要素がすべてintにキャスト出来るか確かめる方法**
|
58
58
|
|
59
59
|
```Python
|
60
|
-
|
61
|
-
def is_num_list(arg_list):
|
62
|
-
|
63
|
-
try:
|
64
|
-
|
65
|
-
list(map(int, arg_list))
|
66
|
-
|
67
|
-
return True
|
68
|
-
|
69
|
-
except:
|
70
|
-
|
71
|
-
return False
|
72
|
-
|
73
|
-
|
74
60
|
|
75
61
|
def main():
|
76
62
|
|
@@ -80,21 +66,21 @@
|
|
80
66
|
|
81
67
|
|
82
68
|
|
83
|
-
|
69
|
+
try:
|
84
70
|
|
85
71
|
print(list(map(int, my_str1)))
|
86
72
|
|
87
|
-
e
|
73
|
+
except:
|
88
74
|
|
89
75
|
print('cannot cast')
|
90
76
|
|
91
77
|
|
92
78
|
|
93
|
-
|
79
|
+
try:
|
94
80
|
|
95
81
|
print(list(map(int, my_str2)))
|
96
82
|
|
97
|
-
e
|
83
|
+
except:
|
98
84
|
|
99
85
|
print('cannot cast')
|
100
86
|
|
@@ -120,6 +106,54 @@
|
|
120
106
|
|
121
107
|
---
|
122
108
|
|
109
|
+
**int型のリストから、特定の範囲の値だけ抜き出す関数**
|
110
|
+
|
111
|
+
```Python
|
112
|
+
|
113
|
+
def make_func_in_range(arg_range):
|
114
|
+
|
115
|
+
def ret_func(num):
|
116
|
+
|
117
|
+
return arg_range[0] <= num <= arg_range[1]
|
118
|
+
|
119
|
+
return ret_func
|
120
|
+
|
121
|
+
|
122
|
+
|
123
|
+
def filter_in_range(arg_list, arg_range: tuple):
|
124
|
+
|
125
|
+
in_range = make_func_in_range(arg_range)
|
126
|
+
|
127
|
+
return filter(in_range, arg_list)
|
128
|
+
|
129
|
+
|
130
|
+
|
131
|
+
def main():
|
132
|
+
|
133
|
+
int_list = [421, 657, 1000]
|
134
|
+
|
135
|
+
print(list(filter_in_range(int_list, (500, 800))))
|
136
|
+
|
137
|
+
|
138
|
+
|
139
|
+
if __name__ == '__main__':
|
140
|
+
|
141
|
+
main()
|
142
|
+
|
143
|
+
|
144
|
+
|
145
|
+
"""出力
|
146
|
+
|
147
|
+
[657]
|
148
|
+
|
149
|
+
"""
|
150
|
+
|
151
|
+
```
|
152
|
+
|
153
|
+
|
154
|
+
|
155
|
+
---
|
156
|
+
|
123
157
|
せっかく回答をいただいているんですから、まずそちらにお礼言いましょうよ。
|
124
158
|
|
125
159
|
[https://teratail.com/questions/92558](https://teratail.com/questions/92558)
|
3
追記
test
CHANGED
@@ -70,6 +70,50 @@
|
|
70
70
|
|
71
71
|
return False
|
72
72
|
|
73
|
+
|
74
|
+
|
75
|
+
def main():
|
76
|
+
|
77
|
+
my_str1 = ['100', '.', 'abc']
|
78
|
+
|
79
|
+
my_str2 = ['421', '657', '1000']
|
80
|
+
|
81
|
+
|
82
|
+
|
83
|
+
if is_num_list(my_str1):
|
84
|
+
|
85
|
+
print(list(map(int, my_str1)))
|
86
|
+
|
87
|
+
else:
|
88
|
+
|
89
|
+
print('cannot cast')
|
90
|
+
|
91
|
+
|
92
|
+
|
93
|
+
if is_num_list(my_str2):
|
94
|
+
|
95
|
+
print(list(map(int, my_str2)))
|
96
|
+
|
97
|
+
else:
|
98
|
+
|
99
|
+
print('cannot cast')
|
100
|
+
|
101
|
+
|
102
|
+
|
103
|
+
if __name__ == '__main__':
|
104
|
+
|
105
|
+
main()
|
106
|
+
|
107
|
+
|
108
|
+
|
109
|
+
"""実行結果
|
110
|
+
|
111
|
+
cannot cast
|
112
|
+
|
113
|
+
[421, 657, 1000]
|
114
|
+
|
115
|
+
"""
|
116
|
+
|
73
117
|
```
|
74
118
|
|
75
119
|
|
2
追記
test
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
**リストを順にintにキャストし、不可能な場合Falseを返す関数**
|
2
|
+
|
1
3
|
```Python
|
2
4
|
|
3
5
|
def is_int(arg):
|
1
追記
test
CHANGED
@@ -52,6 +52,28 @@
|
|
52
52
|
|
53
53
|
---
|
54
54
|
|
55
|
+
**リストの要素がすべてintにキャスト出来るか確かめる関数**
|
56
|
+
|
57
|
+
```Python
|
58
|
+
|
59
|
+
def is_num_list(arg_list):
|
60
|
+
|
61
|
+
try:
|
62
|
+
|
63
|
+
list(map(int, arg_list))
|
64
|
+
|
65
|
+
return True
|
66
|
+
|
67
|
+
except:
|
68
|
+
|
69
|
+
return False
|
70
|
+
|
71
|
+
```
|
72
|
+
|
73
|
+
|
74
|
+
|
75
|
+
---
|
76
|
+
|
55
77
|
せっかく回答をいただいているんですから、まずそちらにお礼言いましょうよ。
|
56
78
|
|
57
79
|
[https://teratail.com/questions/92558](https://teratail.com/questions/92558)
|