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

回答編集履歴

3

修正

2018/12/09 07:33

投稿

LouiS0616
LouiS0616

スコア35678

answer CHANGED
@@ -22,6 +22,6 @@
22
22
  また、『複数の文字列』が多くなり列挙が面倒な場合は、次のように書きます。
23
23
  ```Python
24
24
  words = 複数の文字列のリスト
25
- if all(s in 'ghi' for s in words):
25
+ if all((s in 'ghi') for s in words):
26
26
  ...
27
27
  ```

2

修正

2018/12/09 07:33

投稿

LouiS0616
LouiS0616

スコア35678

answer CHANGED
@@ -22,6 +22,6 @@
22
22
  また、『複数の文字列』が多くなり列挙が面倒な場合は、次のように書きます。
23
23
  ```Python
24
24
  words = 複数の文字列のリスト
25
- if all(lambda s: s in 'ghi', words):
25
+ if all(s in 'ghi' for s in words):
26
26
  ...
27
27
  ```

1

追記

2018/12/09 07:32

投稿

LouiS0616
LouiS0616

スコア35678

answer CHANGED
@@ -7,12 +7,21 @@
7
7
  Pythonでは空でない文字列は真値として扱われます。
8
8
  orの右辺の真偽値が何であろうと、左辺のabcが真ならば恒真式です。
9
9
 
10
+ なお、Pythonのand演算/or演算は短絡評価を行うので、この場合右辺は評価すらされていません。
11
+ これについては、追々知っていけば良い話です。
12
+
10
13
  > 複数の文字列が"in"で大きな文字列に含まれているかどうか判定したい
11
14
 
12
15
  それならば、こんなふうに書きます。
16
+ カッコは無くても良いですが、有った方が幾分か分かり易いかと。
13
17
  ```Python
14
18
  if ("abc" in "ghi") and ("def" in "ghi"):
15
19
  ...
16
20
  ```
17
21
 
18
- カッコは無くても良いですが、有っ幾分か分か易いかと
22
+ 、『複数の文字列』多くな列挙が面倒な場合は、次のように書きます
23
+ ```Python
24
+ words = 複数の文字列のリスト
25
+ if all(lambda s: s in 'ghi', words):
26
+ ...
27
+ ```