回答編集履歴
4
編集
answer
CHANGED
@@ -26,27 +26,20 @@
|
|
26
26
|
```
|
27
27
|
|
28
28
|
---
|
29
|
-
**リストの要素がすべてintにキャスト出来るか確かめる
|
29
|
+
**リストの要素がすべてintにキャスト出来るか確かめる方法**
|
30
30
|
```Python
|
31
|
-
def is_num_list(arg_list):
|
32
|
-
try:
|
33
|
-
list(map(int, arg_list))
|
34
|
-
return True
|
35
|
-
except:
|
36
|
-
return False
|
37
|
-
|
38
31
|
def main():
|
39
32
|
my_str1 = ['100', '.', 'abc']
|
40
33
|
my_str2 = ['421', '657', '1000']
|
41
34
|
|
42
|
-
|
35
|
+
try:
|
43
36
|
print(list(map(int, my_str1)))
|
44
|
-
|
37
|
+
except:
|
45
38
|
print('cannot cast')
|
46
39
|
|
47
|
-
|
40
|
+
try:
|
48
41
|
print(list(map(int, my_str2)))
|
49
|
-
|
42
|
+
except:
|
50
43
|
print('cannot cast')
|
51
44
|
|
52
45
|
if __name__ == '__main__':
|
@@ -59,5 +52,29 @@
|
|
59
52
|
```
|
60
53
|
|
61
54
|
---
|
55
|
+
**int型のリストから、特定の範囲の値だけ抜き出す関数**
|
56
|
+
```Python
|
57
|
+
def make_func_in_range(arg_range):
|
58
|
+
def ret_func(num):
|
59
|
+
return arg_range[0] <= num <= arg_range[1]
|
60
|
+
return ret_func
|
61
|
+
|
62
|
+
def filter_in_range(arg_list, arg_range: tuple):
|
63
|
+
in_range = make_func_in_range(arg_range)
|
64
|
+
return filter(in_range, arg_list)
|
65
|
+
|
66
|
+
def main():
|
67
|
+
int_list = [421, 657, 1000]
|
68
|
+
print(list(filter_in_range(int_list, (500, 800))))
|
69
|
+
|
70
|
+
if __name__ == '__main__':
|
71
|
+
main()
|
72
|
+
|
73
|
+
"""出力
|
74
|
+
[657]
|
75
|
+
"""
|
76
|
+
```
|
77
|
+
|
78
|
+
---
|
62
79
|
せっかく回答をいただいているんですから、まずそちらにお礼言いましょうよ。
|
63
80
|
[https://teratail.com/questions/92558](https://teratail.com/questions/92558)
|
3
追記
answer
CHANGED
@@ -34,6 +34,28 @@
|
|
34
34
|
return True
|
35
35
|
except:
|
36
36
|
return False
|
37
|
+
|
38
|
+
def main():
|
39
|
+
my_str1 = ['100', '.', 'abc']
|
40
|
+
my_str2 = ['421', '657', '1000']
|
41
|
+
|
42
|
+
if is_num_list(my_str1):
|
43
|
+
print(list(map(int, my_str1)))
|
44
|
+
else:
|
45
|
+
print('cannot cast')
|
46
|
+
|
47
|
+
if is_num_list(my_str2):
|
48
|
+
print(list(map(int, my_str2)))
|
49
|
+
else:
|
50
|
+
print('cannot cast')
|
51
|
+
|
52
|
+
if __name__ == '__main__':
|
53
|
+
main()
|
54
|
+
|
55
|
+
"""実行結果
|
56
|
+
cannot cast
|
57
|
+
[421, 657, 1000]
|
58
|
+
"""
|
37
59
|
```
|
38
60
|
|
39
61
|
---
|
2
追記
answer
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
**リストを順にintにキャストし、不可能な場合Falseを返す関数**
|
1
2
|
```Python
|
2
3
|
def is_int(arg):
|
3
4
|
try:
|
1
追記
answer
CHANGED
@@ -25,5 +25,16 @@
|
|
25
25
|
```
|
26
26
|
|
27
27
|
---
|
28
|
+
**リストの要素がすべてintにキャスト出来るか確かめる関数**
|
29
|
+
```Python
|
30
|
+
def is_num_list(arg_list):
|
31
|
+
try:
|
32
|
+
list(map(int, arg_list))
|
33
|
+
return True
|
34
|
+
except:
|
35
|
+
return False
|
36
|
+
```
|
37
|
+
|
38
|
+
---
|
28
39
|
せっかく回答をいただいているんですから、まずそちらにお礼言いましょうよ。
|
29
40
|
[https://teratail.com/questions/92558](https://teratail.com/questions/92558)
|