Python スライス インデックスの使用法
この記事では、主に Python スライス インデックスの使用法を紹介し、Python スライス インデックスの一般的な使用方法と運用上の注意事項を例の形式で詳細に分析します。必要な友人は参考にしてください。 Python スライス インデックスの使用法。参考のために皆さんと共有してください。詳細は次のとおりです。
Python では、単純な角括弧と添字を使用してシーケンスの各要素にアクセスできます。この方法はスライス演算子と呼ばれます。スライスには 3 つのタイプがあります。演算子。形式:
[]、[:]、[::] 特定のデータ要素にアクセスするための構文は次のとおりです:
sequence[ Index]
sequence[index]
sequence是序列的名字,index是访问元素的对应的偏移量,为正数,0<=index<=len(sequence)-1;使用负索引的时候,其范围为-len(sequence) <=index <= -1
由于Python是面向对象的,所以也可以通过在序列后直接加上一个索引进行访问,如下所以
print ('a','b','c','d')[2]
对于访问多个元素的情形
sequence[starting_index:ending_index]
下面就访问的几种方式进行举例说明:
sequence="abcdefgh" print len(sequence) #显示序列长度 print sequence #打印完整序列 print sequence[:] print sequence[2:3] #切片显示,不指定步长默认为1,指定了步长(这里是setp为2)按照步长进行显示 print sequence[1:6:2] print sequence[3] #元素访问 print sequence[0:3] #从首元素开始访问,访问区间为[0,3),左开you print sequence[:3] print sequence[2:8] #从第二个元素一直访问到最后一个元素 print sequence[2:] print sequence[::-1] #从最后一个元素开始访问,逆序访问,可以视为“翻转”操作 print max(sequence) print min(sequence) print sequence.index('c')
这里要注意的是重复操作符 *
sequence * copies_int
当需要一个序列的多个拷贝时,重复操作符就可以发挥作用了,copies_int 必须为整形
print sequence*3 #使用重复操作符
连接操作符 +
sequence1 + sequence2
允许使用 + 将两个相同类型的序列进行连接
print sequence + sequence
但注意看起来很方便,但是这种操作不是最快或者最有效地,对字符串来说,这个操作不如把所有子字符串放到一个列表中或者可迭代对象中,然后使用join()
方法来把所有的内容连接在一起节约内存;而对于列表而言,推荐是哟个列表类型的extend()
方法来把两个或者多个列表对象合并
str.join(sequence) #方法用于将序列中的元素以指定的字符连接生成一个新的字符串
str = "-"; seq = ("a", "b", "c"); # 字符串序列 print str.join( seq );
输出为:
a-b-c
list.extend(seq) #函数用于在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
aList = [123, 'xyz', 'zara', 'abc', 123]; bList = [2009, 'manni']; aList.extend(bList) print "Extended List : ", aList ;
输出为:
Extended List : [123, 'xyz', 'zara', 'abc', 123, 2009, 'manni']
切片索引的语法要比简单的单一元素索引方法灵活很多,开始和结束索引值可以超过字符串的长度。即起始索引值可以小于0,而结束索引值可以大于序列的长度,如:
print ('Faye','Leanna','Daylen')[-100:100]
输出为:
('Faye', 'Leanna', 'Daylen')
如果有一个字符串,想通过循环按照这样的方式进行显示:每次都把位于最后的那一个字符砍掉,如何实现呢?
sequence = 'abcdef' i = -1 for i in range(-1,-len(sequence),-1): print sequence[:i]
输出为:
abcde abcd abc ab a
发现没有显示第一个,即是没有显示完整的字符串,除开另外单独定义一个sequence[:0]
sequence
index
はアクセスされた要素の対応するオフセット (正の数)、0<=index<=len(sequence)-1
; 負のインデックスを使用する場合、その範囲は-len(sequence) <=index <= -1 です
Python はオブジェクト指向であるため、シーケンスの直後にインデックスを追加することによってもアクセスできます。以下の通りsequence = 'abcdef' for i in [None] + range(-1,-len(sequence),-1): print sequence[:i]
sequence[starting_index:ending_index]
🎜🎜 以下はいくつかのアクセス方法の例です:🎜🎜🎜abcdef abcde abcd abc ab a
sequence *copies_int
🎜🎜 シーケンスの複数のコピーが必要な場合、repeat 演算子が機能します。🎜copies_int🎜 は整数でなければなりません 🎜🎜🎜 rrreee🎜🎜🎜 🎜接続演算子 +🎜🎜🎜sequence1 + sequence2
🎜🎜を使用すると、+ を使用して同じタイプの 2 つのシーケンスを接続できます🎜🎜🎜rrreee🎜🎜🎜しかし、これは非常に便利であることに注意してくださいただし、この操作は最速または最も効率的ではありません。文字列の場合、この操作はすべての部分文字列をリストまたは反復可能なオブジェクトに入れてから、join()
メソッドを使用してすべてを結合するよりも劣ります。一緒にするとメモリが節約されます。リストの場合は、リスト タイプの extend()
メソッドを使用して 2 つ以上のリスト オブジェクトをマージすることをお勧めします🎜🎜🎜rrreee🎜🎜🎜🎜rrreee🎜🎜🎜 : 🎜rrreee🎜🎜rrreee🎜🎜🎜🎜rrreee🎜🎜🎜 出力は次のとおりです: 🎜rrreee🎜 スライス インデックスの構文は、単純な単一要素のインデックス方法よりもはるかに柔軟であり、開始インデックス値と終了インデックス値は次のとおりです。文字列の長さを超えています。つまり、開始インデックス値は 0 未満にすることができ、終了インデックス値は次のようにシーケンスの長さより大きくすることができます。 🎜🎜🎜rrreee🎜🎜🎜 出力は次のようになります。 、ループを通じてこのように表示したい場合: 毎回最後の文字を切り取るにはどうすればよいですか? 🎜🎜🎜rrreee🎜🎜🎜 出力は次のとおりです: 🎜rrreee🎜 別の sequence[:0]、ここでは None を使用します。インデックス値 🎜🎜🎜rrreee🎜🎜🎜 として、出力は次のようになります: 🎜rrreee🎜🎜🎜🎜🎜🎜🎜🎜
以上がPython スライス インデックスの使用法の詳細内容です。詳細については、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は、データサイエンスと機械学習の分野を支配しています。

CentOSシステムでのPytorchモデルの効率的なトレーニングには手順が必要であり、この記事では詳細なガイドが提供されます。 1。環境の準備:Pythonおよび依存関係のインストール:Centosシステムは通常Pythonをプリインストールしますが、バージョンは古い場合があります。 YumまたはDNFを使用してPython 3をインストールし、PIP:sudoyumupdatepython3(またはsudodnfupdatepython3)、pip3install-upgradepipをアップグレードすることをお勧めします。 cuda and cudnn(GPU加速):nvidiagpuを使用する場合は、cudatoolをインストールする必要があります

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

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

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

CentOSでPytorchバージョンを選択する場合、次の重要な要素を考慮する必要があります。1。CUDAバージョンの互換性GPUサポート:NVIDIA GPUを使用してGPU加速度を活用したい場合は、対応するCUDAバージョンをサポートするPytorchを選択する必要があります。 NVIDIA-SMIコマンドを実行することでサポートされているCUDAバージョンを表示できます。 CPUバージョン:GPUをお持ちでない場合、またはGPUを使用したくない場合は、PytorchのCPUバージョンを選択できます。 2。PythonバージョンPytorch

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サービスを開始します。依存関係の問題、ポート競合、構成ファイルエラーなど、一般的なエラーに注意する必要があります。パフォーマンスの最適化は、キャッシュをオンにしたり、ワーカープロセスの数を調整するなど、特定の状況に応じて調整する必要があります。
