検索
ホームページバックエンド開発Python チュートリアルPython スライス インデックスの使用法

Python スライス インデックスの使用法

Jun 04, 2018 pm 06:00 PM
pythonスライス使用法

この記事では、主に Python スライス インデックスの使用法を紹介し、Python スライス インデックスの一般的な使用方法と運用上の注意事項を例の形式で詳細に分析します。必要な友人は参考にしてください。 Python スライス インデックスの使用法。参考のために皆さんと共有してください。詳細は次のとおりです。

Python では、単純な角括弧と添字を使用してシーケンスの各要素にアクセスできます。この方法はスライス演算子と呼ばれます。スライスには 3 つのタイプがあります。演算子。形式:

[][:][::] 特定のデータ要素にアクセスするための構文は次のとおりです:

sequence[ Index]

sequence[index]

sequence是序列的名字,index是访问元素的对应的偏移量,为正数,0;使用负索引的时候,其范围为-len(sequence)

由于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 ; 負のインデックスを使用する場合、その範囲は

-len(sequence)

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 サイトの他の関連記事を参照してください。

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

限られた時間でPythonの学習効率を最大化するには、PythonのDateTime、時間、およびスケジュールモジュールを使用できます。 1. DateTimeモジュールは、学習時間を記録および計画するために使用されます。 2。時間モジュールは、勉強と休息の時間を設定するのに役立ちます。 3.スケジュールモジュールは、毎週の学習タスクを自動的に配置します。

Python:ゲーム、GUIなどPython:ゲーム、GUIなどApr 13, 2025 am 12:14 AM

PythonはゲームとGUI開発に優れています。 1)ゲーム開発は、2Dゲームの作成に適した図面、オーディオ、その他の機能を提供し、Pygameを使用します。 2)GUI開発は、TKINTERまたはPYQTを選択できます。 TKINTERはシンプルで使いやすく、PYQTは豊富な機能を備えており、専門能力開発に適しています。

Python vs. C:比較されたアプリケーションとユースケースPython vs. C:比較されたアプリケーションとユースケースApr 12, 2025 am 12:01 AM

Pythonは、データサイエンス、Web開発、自動化タスクに適していますが、Cはシステムプログラミング、ゲーム開発、組み込みシステムに適しています。 Pythonは、そのシンプルさと強力なエコシステムで知られていますが、Cは高性能および基礎となる制御機能で知られています。

2時間のPython計画:現実的なアプローチ2時間のPython計画:現実的なアプローチApr 11, 2025 am 12:04 AM

2時間以内にPythonの基本的なプログラミングの概念とスキルを学ぶことができます。 1.変数とデータ型、2。マスターコントロールフロー(条件付きステートメントとループ)、3。機能の定義と使用を理解する4。

Python:主要なアプリケーションの調査Python:主要なアプリケーションの調査Apr 10, 2025 am 09:41 AM

Pythonは、Web開発、データサイエンス、機械学習、自動化、スクリプトの分野で広く使用されています。 1)Web開発では、DjangoおよびFlask Frameworksが開発プロセスを簡素化します。 2)データサイエンスと機械学習の分野では、Numpy、Pandas、Scikit-Learn、Tensorflowライブラリが強力なサポートを提供します。 3)自動化とスクリプトの観点から、Pythonは自動テストやシステム管理などのタスクに適しています。

2時間でどのくらいのPythonを学ぶことができますか?2時間でどのくらいのPythonを学ぶことができますか?Apr 09, 2025 pm 04:33 PM

2時間以内にPythonの基本を学ぶことができます。 1。変数とデータ型を学習します。2。ステートメントやループの場合などのマスター制御構造、3。関数の定義と使用を理解します。これらは、簡単なPythonプログラムの作成を開始するのに役立ちます。

プロジェクトの基本と問題駆動型の方法で10時間以内にコンピューター初心者プログラミングの基本を教える方法は?プロジェクトの基本と問題駆動型の方法で10時間以内にコンピューター初心者プログラミングの基本を教える方法は?Apr 02, 2025 am 07:18 AM

10時間以内にコンピューター初心者プログラミングの基本を教える方法は?コンピューター初心者にプログラミングの知識を教えるのに10時間しかない場合、何を教えることを選びますか...

中間の読書にどこでもfiddlerを使用するときにブラウザによって検出されないようにするにはどうすればよいですか?中間の読書にどこでもfiddlerを使用するときにブラウザによって検出されないようにするにはどうすればよいですか?Apr 02, 2025 am 07:15 AM

fiddlereveryversings for the-middleの測定値を使用するときに検出されないようにする方法

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

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

ホットツール

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター

WebStorm Mac版

WebStorm Mac版

便利なJavaScript開発ツール