この章ではデータ構造の概念を紹介します。データ構造は、何らかの方法でまとめられたデータ要素のコレクションです。 Python では、最も基本的なデータ構造はシーケンスです。シーケンス内の各要素にはシーケンス番号が割り当てられます。シーケンス番号は要素の位置であり、インデックスとも呼ばれます。注: 最初のインデックスは 0 です。
1. シーケンスの概要
Python には、リスト、タプル、文字列、Unicode 文字列、バッファ オブジェクト、xrange オブジェクトの 6 つの組み込みシーケンスがあります。
ここではリストとタプルに焦点を当てます。リストとタプルの主な違いは、リストは変更できるが、タプルは変更できないことです。一般に、リストはほとんどすべての状況でタプルを置き換えることができます。
シーケンスは、一連の値を操作する必要がある場合に非常に便利です:
Edward = ["Gumby",42]
同時に、シーケンスには他のシーケンスを含めることができます。例:
Edward = ["Gumby",42]
John = [" Smith",50]
database = [Edward,John]
2. 共通のシーケンス操作
すべてのシーケンス タイプは、インデックス付け、シャーディングなどの特定の特徴的な操作を実行できます。 、加算、乗算、および要素がシーケンスのメンバー (メンバーシップ) であるかどうかを確認します。さらに、Python には、シーケンスの長さを計算し、最大要素と最小要素を見つけるための組み込み関数もあります。
2.1 インデックス
シーケンス内のすべての要素には、0 から始まり増加する番号が付けられます。これらの要素には、番号によって個別にアクセスできます:
>>> ;greeting = "hello "
>>>greeting[0]
'H'
負のインデックスを使用すると、Python は右からカウントし始めます。は、最後の要素から、そして最後の要素の位置番号は -1 です!
>greeting[-1]
' g'
2.2 シャーディング
シャーディングは、コロンで区切られた 2 つのインデックスによって実装される、特定の範囲内の要素にアクセスできます。スライスはシーケンスの一部を抽出する場合に便利です。最初のインデックスは抽出された部分の最初の要素番号であり、最後のインデックスはスライス後の残りの部分の最初の要素番号です。
>number = [1,2,3, 4,5 ,6,7,8,9,10]
>>> 数値[3:6]
[4,5,6]
>>>> 0:1 ]
[1]
2.2.1 エレガントなショートカット
は最後の 3 つの要素にアクセスする必要があります。これは次のように明示的に行うことができます:
>number[7:10]
[8,9,10] ]
ここでインデックス 10 が指す 11 番目の要素は存在しませんが、最後の要素の後にあります。
リストの最後から数え始める必要がある場合、つまり、シャード部分にシーケンスの最後の要素が含まれている場合は、最後のインデックスを空白のままにしておきます:
>number[-3:]
[8,9,10]
このメソッドはシーケンスの先頭の要素、またはシーケンス全体を表示します:
>>> 数値[:3]
[1,2,3]
>数値[:]
[1, 2,3,4,5,6,7,8,9,10]
2.2.2 より大きなステップ サイズ
シャーディングの場合、シャーディングの開始と終了を指定する必要があります別のパラメータであるステップ サイズは、通常、暗黙的に設定されます。デフォルトのステップ サイズは 1 です。ステップ サイズを 1 より大きい数値に明示的に設定すると、一部の要素がスキップされます。
>number[0:10:2]
[ 1,3,5,7,9]
>>>number[3:6:3]
[4]
ステップ サイズは変更できません0 ですが、負の数も可能です。つまり、要素は右から左に抽出されます:
> 数値 [10:0:-2]
[10,8,6,4,2]
> 数値[0:10: -2]
[]
上記の 2 番目の式は間違っています。ステップ サイズとして負の数値を使用する場合、開始点は終了点より大きくなければなりません。
2.3 シーケンスの追加
シーケンスの接続操作はプラス記号を使用して実行できます:
>>> [1,2,3] + [4,5,6]
[1,2,3,4,5,6]
>> >' こんにちは、' + 'world'
'hello, world'
>>>[1,2,3] + 'hello'
TypeError: リストのみ連結できます (' ではありません)文字列') をリストに追加
上記の 3 番目の例に示すように、リストと文字列は両方ともシーケンスですが、接続できるのは同じタイプの 2 つのシーケンスのみです。
2.4 乗算
シーケンスに数値 x を乗算すると、新しいシーケンス、新しいシーケンスでは、元のシーケンスが x 回繰り返されます:
[code]
>>> 'python' *5
'pythonpythonpythonpythonpython'
>>> ; [ 42] * 5
[42,42,42,42,42]
なし、空のリストと初期化
空のリストは 2 つの角括弧 ([ ]) ですが、10 個の要素を占めるが有用なコンテンツを含まないリストを作成したい場合は、null 値を表す値が必要です。
> シーケンス = [なし] * 10
>
シーケンス [なし,なし,なし,なし,なし,なし,なし,なし,なし,なし]
2.5 メンバーシップ
>>> p = 'write'
>>> p
True
>>> ユーザー =["a"," b", "c"]
>>> raw_input('Enter:') in user
Enter:aTrue
>>>数値 = [10,20,30] ]
>>> len(数字)
>>> 最大(数字) (1,99)
>>> min(1,99)
上記の最後の 2 つの例では、max 関数と min 関数のパラメーターはシーケンスではありません。ただし、複数の数値をパラメータとして直接使用できます。
3. リスト: Python の "coolie"
3.1 リスト関数
文字列はリストのように変更できないため、文字列に基づいてリストを作成すると便利な場合があります。 ps: list 関数は、文字列だけでなく、あらゆる種類のリストに対して機能します。
>>> list('hello')
['h ','e','l','l','o']
ヒント: 次の式を使用して、文字のリストを文字列に変換できます:
> strs = ' '.jion(list)>> ;> strs
"h e l l o"
3.2 基本的なリスト操作
メソッドは、特定のオブジェクトに密接に関連する関数です。または文字列または他のタイプのオブジェクト。リストには、その内容を検査または変更するためのいくつかの方法が用意されています。
3.2.1 append
append メソッドは、リストの最後に新しいオブジェクトを追加するために使用されます:
>>> lst.append(4)
>>> lst
[1, 2,3,4]
注: append メソッドは、変更された新しいリストを単に返すのではなく、元のリストを直接変更します。
3.2.2 count
count メソッドは、リスト内に要素が出現する回数をカウントします。
>> ;> x.count(1)
3.2.3 extendextend メソッドは、リストの最後に別のシーケンスから複数の値を一度に追加できます。
注: extend メソッドと接続操作 (+) の主な違いは、extend メソッドは拡張シーケンスを変更するのに対し、接続操作は新しいリストを返すことです。
3.2.4 Index
index メソッドは、リストから最初に一致する値のインデックス位置を見つけるために使用されます:
2
>>> knights.index("hi")
ValueError:list.index(x):x がリストにありません
一致するものが見つからない場合、例外がスローされます。
3.2.5 insert
insert メソッドは、オブジェクトをリストに挿入するために使用されます:
>>> 数値 = [1,2,3,6]
>>> 数値 = insert(3,5)
>>>
[1,2,3,5,6]
>>> 数値[3:3] = [4]
>>> 数値
[1,2] ,3,4,5,6]
上記の最後の例では、挿入はスライスの割り当てによって実装されていますが、可読性は挿入ほど良くありません。
3.2.6 Pop
pop メソッドは、リストから要素を削除し、要素の値を戻します。これは、リストを変更し、要素の値を返すことができる唯一のリスト メソッドです。 🎜>
> ;>> x.pop()
3
>>> リスト内の値の最初の一致を削除するために使用されます:
コードをコピー
コードは次のとおりです:
reverse メソッドはリスト内の要素を逆順に保存します。
コードをコピー
コードは次のとおりです。 :
> x = [1,2,3]
>>x.reverse()
>>
,2 ,1]
コードをコピー
コードは次のとおりです:
> x = [4,2,7,1]
>>
> y = x[:]
> ;>> y.sort ()
コードは次のとおりです:
>>> x = [4,5,3,7,2]
>>> y = ソート(x)
>>> ,3,7,2]
>>> y[2,3,4,5,7]
3.2.10 高度な並べ替え
>>> cmp(1,2)
>>> cmp(2,1)
>>> >>>> ; 数字 = [5,3,9,7]
>>> 数字.sort(cmp)
>>> 数字 ,7,9]
sort メソッドには、key と reverse という 2 つの追加のオプション パラメータがあります。これらを使用するには、名前で指定します。
>>> x = ['a','abc; ',' ab']
>>> x.sort(key=len)
>>> = [2,4,1,5]>>> y.sort(reverse)
>>> y
[5,4,2 ,1]
4. タプル: Immutable Sequence
タプルを作成するための構文は単純です。いくつかの値をカンマで区切ると、タプル グループが自動的に作成されます。
>>>1,2,3
( 1,2 ,3)
>>>(1,2,3)
(1,2,3)
>>>()
()
> >>42,
(42,)
上記の最後の例のように、値を含むタプルを実装する場合は、価値。
4.1 タプル関数
タプルはシーケンスをパラメータとして受け取り、それをタプルに変換します。パラメータがタプルの場合、パラメータは変更されずに返されます:
>>> tuple([1,2,3])
(1,2,3)
>>> タプル('abc')
('a','b','c')
>>> タプル((1,2,3)) 🎜>( 1,2,3)
4.2 基本的なタプル操作
タプルの作成とタプル要素へのアクセスを除けば、実際には複雑な操作はありません。
>>>x = 1,2,3
>>>x[1]
2
>>>
4.3 では、どのような重要性があるのでしょうか? タプルは置き換えられません:
(1) タプルはマップのキーとして使用できますが、リストは使用できません。
(2) タプルは多くの組み込み関数やメソッドの戻り値として存在します。

Pythonの柔軟性は、マルチパラダイムサポートと動的タイプシステムに反映されていますが、使いやすさはシンプルな構文とリッチ標準ライブラリに由来しています。 1。柔軟性:オブジェクト指向、機能的および手続き的プログラミングをサポートし、動的タイプシステムは開発効率を向上させます。 2。使いやすさ:文法は自然言語に近く、標準的なライブラリは幅広い機能をカバーし、開発プロセスを簡素化します。

Pythonは、初心者から上級開発者までのすべてのニーズに適した、そのシンプルさとパワーに非常に好まれています。その汎用性は、次のことに反映されています。1)学習と使用が簡単、シンプルな構文。 2)Numpy、Pandasなどの豊富なライブラリとフレームワーク。 3)さまざまなオペレーティングシステムで実行できるクロスプラットフォームサポート。 4)作業効率を向上させるためのスクリプトおよび自動化タスクに適しています。

はい、1日2時間でPythonを学びます。 1.合理的な学習計画を作成します。2。適切な学習リソースを選択します。3。実践を通じて学んだ知識を統合します。これらの手順は、短時間でPythonをマスターするのに役立ちます。

Pythonは迅速な開発とデータ処理に適していますが、Cは高性能および基礎となる制御に適しています。 1)Pythonは、簡潔な構文を備えた使いやすく、データサイエンスやWeb開発に適しています。 2)Cは高性能で正確な制御を持ち、ゲームやシステムのプログラミングでよく使用されます。

Pythonを学ぶのに必要な時間は、人によって異なり、主に以前のプログラミングの経験、学習の動機付け、学習リソースと方法、学習リズムの影響を受けます。現実的な学習目標を設定し、実用的なプロジェクトを通じて最善を尽くします。

Pythonは、自動化、スクリプト、およびタスク管理に優れています。 1)自動化:OSやShutilなどの標準ライブラリを介してファイルバックアップが実現されます。 2)スクリプトの書き込み:Psutilライブラリを使用してシステムリソースを監視します。 3)タスク管理:スケジュールライブラリを使用してタスクをスケジュールします。 Pythonの使いやすさと豊富なライブラリサポートにより、これらの分野で優先ツールになります。

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

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


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

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

EditPlus 中国語クラック版
サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

SublimeText3 英語版
推奨: Win バージョン、コードプロンプトをサポート!

SAP NetWeaver Server Adapter for Eclipse
Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。
