質問するログイン新規登録

回答編集履歴

4

編集

2017/09/15 09:40

投稿

LouiS0616
LouiS0616

スコア35678

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
- if is_num_list(my_str1):
35
+ try:
43
36
  print(list(map(int, my_str1)))
44
- else:
37
+ except:
45
38
  print('cannot cast')
46
39
 
47
- if is_num_list(my_str2):
40
+ try:
48
41
  print(list(map(int, my_str2)))
49
- else:
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

追記

2017/09/15 09:40

投稿

LouiS0616
LouiS0616

スコア35678

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

追記

2017/09/15 09:15

投稿

LouiS0616
LouiS0616

スコア35678

answer CHANGED
@@ -1,3 +1,4 @@
1
+ **リストを順にintにキャストし、不可能な場合Falseを返す関数**
1
2
  ```Python
2
3
  def is_int(arg):
3
4
  try:

1

追記

2017/09/15 09:11

投稿

LouiS0616
LouiS0616

スコア35678

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)