回答編集履歴
3
修正
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
修正
answer
CHANGED
@@ -22,6 +22,6 @@
|
|
22
22
|
また、『複数の文字列』が多くなり列挙が面倒な場合は、次のように書きます。
|
23
23
|
```Python
|
24
24
|
words = 複数の文字列のリスト
|
25
|
-
if all(
|
25
|
+
if all(s in 'ghi' for s in words):
|
26
26
|
...
|
27
27
|
```
|
1
追記
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
|
+
```
|