web-dev-qa-db-ja.com

str(変数)が空かどうかを確認するにはどうすればよいですか?

どうやって作るのですか:

if str(variable) == [contains text]:

調子?

(または何か、私が書いたばかりのものが完全に間違っていると確信しているため)

リストのrandom.choice["",](空白)であるか、["text",]を含むかを確認しようとしています。

58
user1275670

あなたの文字列を空の文字列と比較することができます:

if variable != "":
    etc.

ただし、次のように短縮できます。

if variable:
    etc.

説明:ifは、指定した論理式の値TrueまたはFalseを計算することにより実際に機能します。論理テストの代わりに単に変数名(または「hello」のようなリテラル文字列)を使用する場合、ルールは次のとおりです。空の文字列はFalseとしてカウントされ、他のすべての文字列はTrueとしてカウントされます。空のリストと数字のゼロも偽としてカウントされ、他のほとんどのものは真としてカウントされます。

114
alexis

文字列が空かどうかをチェックする「Python」の方法は次のとおりです。

import random
variable = random.choice(l)
if variable:
    # got a non-empty string
else:
    # got an empty string
16
Daniel Lubarov

空の文字列はデフォルトでFalseです:

>>> if not "":
...     print("empty")
...
empty
12
brice

if sまたはif not sと言うだけです。のように

s = ''
if not s:
    print 'not', s

あなたの特定の例では、私がそれを正しく理解していれば...

>>> import random
>>> l = ['', 'foo', '', 'bar']
>>> def default_str(l):
...     s = random.choice(l)
...     if not s:
...         print 'default'
...     else:
...         print s
... 
>>> default_str(l)
default
>>> default_str(l)
default
>>> default_str(l)
bar
>>> default_str(l)
default
7
senderle
element = random.choice(myList)
if element:
    # element contains text
else:
    # element is empty ''
4
eumiro

python 3の場合、 bool() を使用できます

>>> bool(None)
False
>>> bool("")
False
>>> bool("a")
True
>>> bool("ab")
True
>>> bool("9")
True
3
Thai Tran

if str(variable) == [contains text]:条件を作成するにはどうすればよいですか?

おそらく最も直接的な方法は次のとおりです。

if str(variable) != '':
  # ...

if not ...ソリューションはopposite条件をテストすることに注意してください。

2
NPE

引用符の間にさらにスペースがある場合は、このアプローチを使用します

a = "   "
>>> bool(a)
True
>>> bool(a.strip())
False

if not a.strip():
    print("String is empty")
else:
    print("String is not empty")
2
kamran kausar

変数にテキストが含まれる場合:

len(variable) != 0

それのない

len(variable) == 0

0
CESCO
string = "TEST"
try:
  if str(string):
     print "good string"
except NameError:
     print "bad string"
0
Cornea Valentin