10

私が持っているとしましょう:

str = "Hello! My name is Barney!"

この文字列に2つ含まれているかどうかを確認する1行または2行の方法はあり!ますか?

4

5 に答える 5

1

使用する

str.count("!")

そう:

if str.count("!") == 2:
   return True
于 2017-01-06T11:29:03.987 に答える
0

を除いてstr.count、私filterも実行可能な方法だと思います:

パイソン 2:

>>> len(filter(lambda x: x == '!', "Hello! My name is Barney!"))
2

パイソン 3:

>>> len(list(filter(lambda x: x == '!', "Hello! My name is Barney!")))
2
于 2017-01-06T11:58:44.907 に答える
0

文字列内の文字数を見つけるためのワンライナーの方法がたくさんあります。

string  = "Hello! My name is Barney!"

方法:

string.count('!') == 2 #best way

また

len([x for x in string if x == '!']) == 2 #len of compresion with if

また

len(string)-len(string.replace('!','')) == 2 #len of string - len of string w/o character

また

string[string.find('!')+1:].find('!')>0 #find it, and find it again, at least twice

countが最善ですが、もちろん、あなたが何をしているかによっては、冗長なコード/変数をそのように見つけることがあるので、他の方法を考えるのが大好きです. 何らかの理由で、文字列の長さと文字列の長さを変数に置き換えた文字列が既にある場合は、それらの変数を単純に差し引くことができます。おそらくそうではありませんが、考えるべきことがあります。

于 2013-10-08T15:25:27.243 に答える