6 つの例、8 つのコード スニペット、Python の For ループの詳細な説明
Python は for ループをサポートしており、その構文は他の言語 (JavaScript や Java など) とは若干異なります。次のコード ブロックは、Python で for ループを使用してリスト内の要素を反復処理する方法を示しています。
上記のコード スニペットは 3 つの文字を区切っています。行に分割して印刷されます。 print ステートメントの後にカンマ「,」を追加することで、出力を同じ行に制限できます (印刷する文字を多く指定すると「折り返されます」)。コードは次のとおりです:
テキストの内容を複数行ではなく 1 行で表示したい場合は、上記の形式のコードを使用できます。 Python には、ループの方向を反転できる組み込み関数 reversed() も用意されています。例:
オブジェクトのサイズが決定されているか、逆方向トラバーサル関数はオブジェクトが _reversed_() メソッドを実装している場合にのみ有効です。
01 tryExcept を使用した for ループ
#リスト 1 の StringToNums.py は、文字列から変換された整数のセットを合計する方法を示しています。
- リスト 1 StringToNums.py
<ol><pre class='brush:php;toolbar:false;'>line = '1 2 3 4 10e abc' sum = 0 invalidStr = "" print('String of numbers:',line) for str in line.split(" "): try: sum = sum + eval(str) except: invalidStr = invalidStr + str + ' ' print('sum:', sum) if(invalidStr != ""): print('Invalid strings:',invalidStr) else: print('All substrings are valid numbers')
リスト 1 では、まず変数 line、sum、invalidStr を初期化し、次に line の内容を表示します。次に、その行の内容が単語に分割され、単語の値が try コード ブロックを通じて変数 sum に 1 つずつ累積されます。例外が発生した場合、現在の str の内容が変数 validStr に追加されます。
ループの実行が終了すると、リスト 1 は数値単語の合計を出力し、その後に数値以外の単語を表示します。出力は次のようになります。
02 指数演算
リスト 2 の Nth_exponet.py は、一連の整数を計算する方法を示しています。力の。
- リスト 2 Nth_exponet.py
<ol ><pre class='brush:php;toolbar:false;'>maxPower = 4 maxCount = 4 def pwr(num): prod = 1 for n in range(1,maxPower+1): prod = prod*num print(num,'to the power',n, 'equals',prod) print('-----------') for num in range(1,maxCount+1): pwr(num)
リスト 2 には pwr() 関数があり、そのパラメーターは数値です。この関数のループは、1 から n まで乗じたパラメータを出力できます。n の範囲は 1 から maxCount 1 です。
コードの 2 番目の部分では、for ループを通じて pwr() 関数を 1 から maxCount 1 まで呼び出します。出力は次のようになります。
03 ネストされたループ
Triangular1.py のリスト 3 は、連続する整数の行を出力する方法を示しています。 (1 から開始) 各行の長さは前の行より 1 長くなります。
- リスト 3 Triangular1.py
<ol ><pre class='brush:php;toolbar:false;'>max = 8 for x in range(1,max+1): for y in range(1,x+1): print(y,'', end='') print()
リスト 3 では、まず max 変数を 8 に初期化し、次に変数 x を介してループを実行します。 1 ~ 最大 1 。内側のループには、1 から x 1 までの値を持つループ変数 y があり、y の値を出力します。出力は次のとおりです。
04 for ループでの split() 関数の使用
Python はさまざまな便利な文字列操作をサポートしています。関連関数 (split() 関数や join() 関数など)。 Split() 関数は、テキスト行を単語にトークン化 (つまり「分割」) し、for ループを使用して単語を反復処理する必要がある場合に便利です。
join() 関数は、2 つ以上の単語を 1 行に「結合」する Split() 関数の逆です。文内の余分なスペースを簡単に削除するには、split() 関数を使用してから join() 関数を呼び出し、テキスト行の各単語の間にスペースが 1 つだけになるようにします。
1. 単語の比較には、split() 関数を使用します。
リスト 4 の Compare2.py は、split() 関数 Compare を使用して、テキスト文字列内の各単語を別の単語と比較する方法を示しています。
- リスト 4 Compare2.py
<ol ><pre class='brush:php;toolbar:false;'>x = 'This is a string that contains abc and Abc' y = 'abc' identical = 0 casematch = 0 for w in x.split(): if(w == y): identical = identical + 1 elif (w.lower() == y.lower()): casematch = casematch + 1 if(identical > 0): print('found identical matches:', identical) if(casematch > 0): print('found case matches:', casematch) if(casematch == 0 and identical == 0): print('no matches found')
リスト 4 では、split() 関数を使用して、文字列 x 内の各単語と単語 abc を比較します。比較する。単語が完全に一致する場合は、同一の変数が 1 ずつ増分されます。それ以外の場合は、大文字と小文字を区別しない比較が試行され、一致する場合は casematch 変数が増分されます。
リスト 4 の出力は次のとおりです。
2. 使用split()函数打印指定格式的文本
清单5 的FixedColumnCount1.py 说明了如何打印一组设定固定宽度的字符串。
- 清单5 FixedColumnCount1.py
<ol ><pre class='brush:php;toolbar:false;'>import string wordCount = 0 str1 = 'this is a string with a set of words in it' print('Left-justified strings:') print('-----------------------') for w in str1.split(): print('%-10s' % w) wordCount = wordCount + 1 if(wordCount % 2 == 0): print("") print("n") print('Right-justified strings:') print('------------------------') wordCount = 0 for w in str1.split(): print('%10s' % w) wordCount = wordCount + 1 if(wordCount % 2 == 0): print()
清单5 首先初始化变量wordCount和str1,然后执行两个for循环。第一个for循环对str1的每个单词进行左对齐打印,第二个for循环对str1的每个单词进行右对齐打印。在每个循环中当wordCount是偶数的时候就输出一次换行,这样每打印两个连续的单词之后就换行。清单5的输出如下所示:
3. 使用split()函数打印固定宽度的文本
清单6 的FixedColumnWidth1.py说明了如何打印固定宽度的文本。
- 清单6 FixedColumnWidth1.py
<ol ><pre class='brush:php;toolbar:false;'>import string left = 0 right = 0 columnWidth = 8 str1 = 'this is a string with a set of words in it and it will be split into a fixed column width' strLen = len(str1) print('Left-justified column:') print('----------------------') rowCount = int(strLen/columnWidth) for i in range(0,rowCount): left = i*columnWidth right = (i+1)*columnWidth-1 word = str1[left:right] print("%-10s" % word) # check for a 'partial row' if(rowCount*columnWidth < strLen): left = rowCount*columnWidth-1; right = strLen word = str1[left:right] print("%-10s" % word)
清单6初始化整型变量columnWidth和字符串类型变量str1。变量strLen是str1的长度,变量rowCount是strLen除以columnWidth的值。之后通过循环打印rowCount行,每行包含columnWidth个字符。代码的最后部分输出所有“剩余”的字符。清单6的输出如下所示:
4. 使用split()函数比较文本字符串
清单7 的CompareStrings1.py说明了如何判断一个文本字符串中的单词是否出现在另一个文本字符串中。
- 清单7 CompareStrings1.py
<ol ><pre class='brush:php;toolbar:false;'>text1 = 'a b c d' text2 = 'a b c e d' if(text2.find(text1) >= 0): print('text1 is a substring of text2') else: print('text1 is not a substring of text2') subStr = True for w in text1.split(): if(text2.find(w) == -1): subStr = False break if(subStr == True): print('Every word in text1 is a word in text2') else: print('Not every word in text1 is a word in text2')
清单7 首先初始化两个字符串变量text1和text2,然后通过条件逻辑判断字符串text2是否包含了text1(并输出相应打印信息)。
清单7的后半部分通过一个循环遍历字符串text1中的每个单词,并判断其是否出现在text2中。如果发现有匹配失败的情况,就设置变量subStr为False,并通过break语句跳出循环,提前终止for循环的执行。最后根据变量subStr的值打印对应的信息。清单7的输出如下所示:
05 用基础的for循环显示字符串中的字符
清单8 的StringChars1.py说明了如何打印一个文本字符串中的字符。
- 清单8 StringChars1.py
<ol ><pre class='brush:php;toolbar:false;'>text = 'abcdef' for ch in text: print('char:',ch,'ord value:',ord(ch)) print
清单8 的代码简单直接地通过一个for循环遍历字符串text并打印它的每个字符以及字符的ord值(ASCII 码)。清单8 的输出如下所示:
06 join()函数
另一个去掉多余空格的方法是使用join()函数,代码示例如下所示:
split()函数将一个文本字符串“分割”为一系列的单词,同时去掉多余的空格。接下来join()函数使用一个空格作为分隔符将字符串text1中的单词连接在一起。上述代码的最后部分使用字符串XYZ替换空格作为分隔符,执行相同的连接操作。上述代码的输出如下:
关于作者:奥斯瓦尔德·坎佩萨托(OswaldCampesato),专门研究深度学习、Java、Android和TensorFlow。他是25本书的作者/合著者。
本文摘编自《机器学习入门:Python语言实现》,经出版方授权发布。(ISBN:9787111695240)
以上が6 つの例、8 つのコード スニペット、Python の For ループの詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









PHPとPythonには独自の利点と短所があり、選択はプロジェクトのニーズと個人的な好みに依存します。 1.PHPは、大規模なWebアプリケーションの迅速な開発とメンテナンスに適しています。 2。Pythonは、データサイエンスと機械学習の分野を支配しています。

Pytorch GPUアクセラレーションを有効にすることで、CentOSシステムでは、PytorchのCUDA、CUDNN、およびGPUバージョンのインストールが必要です。次の手順では、プロセスをガイドします。CUDAおよびCUDNNのインストールでは、CUDAバージョンの互換性が決定されます。NVIDIA-SMIコマンドを使用して、NVIDIAグラフィックスカードでサポートされているCUDAバージョンを表示します。たとえば、MX450グラフィックカードはCUDA11.1以上をサポートする場合があります。 cudatoolkitのダウンロードとインストール:nvidiacudatoolkitの公式Webサイトにアクセスし、グラフィックカードでサポートされている最高のCUDAバージョンに従って、対応するバージョンをダウンロードしてインストールします。 cudnnライブラリをインストールする:

PythonとJavaScriptには、コミュニティ、ライブラリ、リソースの観点から、独自の利点と短所があります。 1)Pythonコミュニティはフレンドリーで初心者に適していますが、フロントエンドの開発リソースはJavaScriptほど豊富ではありません。 2)Pythonはデータサイエンスおよび機械学習ライブラリで強力ですが、JavaScriptはフロントエンド開発ライブラリとフレームワークで優れています。 3)どちらも豊富な学習リソースを持っていますが、Pythonは公式文書から始めるのに適していますが、JavaScriptはMDNWebDocsにより優れています。選択は、プロジェクトのニーズと個人的な関心に基づいている必要があります。

DockerはLinuxカーネル機能を使用して、効率的で孤立したアプリケーションランニング環境を提供します。その作業原則は次のとおりです。1。ミラーは、アプリケーションを実行するために必要なすべてを含む読み取り専用テンプレートとして使用されます。 2。ユニオンファイルシステム(UnionFS)は、違いを保存するだけで、スペースを節約し、高速化する複数のファイルシステムをスタックします。 3.デーモンはミラーとコンテナを管理し、クライアントはそれらをインタラクションに使用します。 4。名前空間とcgroupsは、コンテナの分離とリソースの制限を実装します。 5.複数のネットワークモードは、コンテナの相互接続をサポートします。これらのコア概念を理解することによってのみ、Dockerをよりよく利用できます。

MINIOオブジェクトストレージ:CENTOSシステムの下での高性能展開Minioは、Amazons3と互換性のあるGO言語に基づいて開発された高性能の分散オブジェクトストレージシステムです。 Java、Python、JavaScript、Goなど、さまざまなクライアント言語をサポートしています。この記事では、CentosシステムへのMinioのインストールと互換性を簡単に紹介します。 Centosバージョンの互換性Minioは、Centos7.9を含むがこれらに限定されない複数のCentosバージョンで検証されています。

Pytorchの分散トレーニングでは、Centosシステムでトレーニングには次の手順が必要です。Pytorchのインストール:PythonとPipがCentosシステムにインストールされていることです。 CUDAバージョンに応じて、Pytorchの公式Webサイトから適切なインストールコマンドを入手してください。 CPUのみのトレーニングには、次のコマンドを使用できます。PipinstalltorchtorchtorchvisionTorchaudioGPUサポートが必要な場合は、CUDAとCUDNNの対応するバージョンがインストールされ、インストールに対応するPytorchバージョンを使用してください。分散環境構成:分散トレーニングには、通常、複数のマシンまたは単一マシンの複数GPUが必要です。場所

NGINXのインストールをインストールするには、次の手順に従う必要があります。開発ツール、PCRE-Devel、OpenSSL-Develなどの依存関係のインストール。 nginxソースコードパッケージをダウンロードし、それを解凍してコンパイルしてインストールし、/usr/local/nginxとしてインストールパスを指定します。 nginxユーザーとユーザーグループを作成し、アクセス許可を設定します。構成ファイルnginx.confを変更し、リスニングポートとドメイン名/IPアドレスを構成します。 nginxサービスを開始します。依存関係の問題、ポート競合、構成ファイルエラーなど、一般的なエラーに注意する必要があります。パフォーマンスの最適化は、キャッシュをオンにしたり、ワーカープロセスの数を調整するなど、特定の状況に応じて調整する必要があります。

PytorchをCentosシステムにインストールする場合、適切なバージョンを慎重に選択し、次の重要な要因を検討する必要があります。1。システム環境互換性:オペレーティングシステム:Centos7以上を使用することをお勧めします。 Cuda and Cudnn:PytorchバージョンとCudaバージョンは密接に関連しています。たとえば、pytorch1.9.0にはcuda11.1が必要ですが、pytorch2.0.1にはcuda11.3が必要です。 CUDNNバージョンは、CUDAバージョンとも一致する必要があります。 Pytorchバージョンを選択する前に、互換性のあるCUDAおよびCUDNNバージョンがインストールされていることを確認してください。 Pythonバージョン:Pytorch公式支店
