ホームページ  >  記事  >  バックエンド開発  >  Pythonでの Lower 関数と Upper 関数の使い方を詳しく説明します。

Pythonでの Lower 関数と Upper 関数の使い方を詳しく説明します。

Y2J
Y2Jオリジナル
2017-05-18 14:55:1513101ブラウズ

今日、小さな問題に遭遇しました。リスト内の不規則な英語名を [最初の文字を大文字にし、残りを小文字にする] に変換するプログラムを作成する必要があります。

最初のアイデアは、各名前文字列を変換する関数を作成することでした。 str 】処理、バッチ処理にマップを使用する方法

大まかな考え方は正しいと言わざるを得ませんが、細部にいくつかの問題があります。

最初は次のように名前処理関数を書きました:

[python] view plain copy
def change (name)  
    result = name[0].upper()  
    for a in name[1:len(name)]:  
        result = result + a.lower()

すると実行時にエラーが報告されます

[python] view plain copy
E:\PythonFile>python practice.py  
  File "practice.py", line 6  
    for a in name(1:len(name)-1) :  
                   ^  
SyntaxError: invalid syntax  
  
E:\PythonFile>python practice.py  
Traceback (most recent call last):  
  File "practice.py", line 11, in <module>  
    name_li = map (change, name_list)  
  File "practice.py", line 6, in change  
    for a in name(1,len(name)-1) :  
TypeError: &#39;str&#39; object is not callable  
  
E:\PythonFile>python practice.py  
Traceback (most recent call last):  
  File "practice.py", line 9, in <module>  
    name_li = map (change, name_list)  
  File "practice.py", line 5, in change  
    name[0] = name[0].upper()  
TypeError: &#39;str&#39; object does not support item assignment  
  
E:\PythonFile>python practice.py  
Traceback (most recent call last):  
  File "practice.py", line 10, in <module>  
    name_li = map (change, name_list)  
  File "practice.py", line 6, in change  
    name[0] = tmp  
TypeError: &#39;str&#39; object does not support item assignment  
  
E:\PythonFile>python  
Python 2.7.9 (default, Dec 10 2014, 12:24:55) [MSC v.1500 32 bit (Intel)] on win  
32  
Type "help", "copyright", "credits" or "license" for more information.  
>>> l = &#39;zxcv&#39;  
>>> print l[0]  
z  
>>> print l[0].upper  
<built-in method upper of str object at 0x02148740>  
>>> print l[0].upper()  
Z  
>>> z  
Traceback (most recent call last):  
  File "<stdin>", line 1, in <module>  
NameError: name &#39;z&#39; is not defined  
>>> ^Z  
  
  
E:\PythonFile>python practice.py  
Traceback (most recent call last):  
  File "practice.py", line 9, in <module>  
    name_li = map (change, name_list)  
  File "practice.py", line 6, in change  
    name[0] = tmp  
TypeError: &#39;str&#39; object does not support item assignment  
  
E:\PythonFile>python practice.py  
Traceback (most recent call last):  
  File "practice.py", line 13, in <module>  
    name_li = map (change, name_list)  
  File "practice.py", line 5, in change  
    tmp = chr(name[0])  
TypeError: an integer is required

何度か試した結果、このままでは文字列処理ができないというのが一般的な意味であることが分かりましたので、upper()と lower()の使い方を確認してみたところ、これら 2 つの関数は str に直接作用することがわかりました。そのため、面倒な作業はまったく必要ありません。

変更後:

[python] view plain copy
# practice.py  
# Change the first char in every name from lower type to upper type  
  
def change (name):  
    result =  name[0:1].upper()+name[1:len(name)].lower()  
    return result  
  
name_list = [&#39;kzd&#39;,&#39;ysy&#39;,&#39;kcw&#39;,&#39;scr&#39;,&#39;ky&#39;]  
name_li = map (change, name_list)  
print name_l

実行結果:

[python] view plain copy
E:\PythonFile>python practice.py  
[&#39;Kzd&#39;, &#39;Ysy&#39;, &#39;Kcw&#39;, &#39;Scr&#39;, &#39;Ky&#39;]

エラーは、文字列内の要素を割り当てて置換しようとしたことですが、これは許可されていません。

【関連おすすめ】

1. 無料のPythonビデオチュートリアル

2. Pythonの基本的な入門

3. Pythonで大文字と小文字を変換する方法

以上がPythonでの Lower 関数と Upper 関数の使い方を詳しく説明します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。