ホームページ バックエンド開発 Python チュートリアル Pythonのシーケンスタイプとは何ですか?

Pythonのシーケンスタイプとは何ですか?

Jun 17, 2019 am 11:58 AM
python

Python のシーケンス型とは何ですか? Python のシーケンス型とは何ですか?詳しくは、この記事をご覧ください。

Pythonのシーケンスタイプとは何ですか?

シーケンス: 文字、リスト、タプル

すべてのシーケンスは反復をサポートします

シーケンスは、インデックスが非負の整数であるオブジェクトの順序付きコレクション

#文字とタプルは不変シーケンスに属し、リストは変更可能です

1)文字

文字列リテラル: テキストを一重引用符、二重引用符、または三重引用符で囲みます;

    '    ''    '''
        >>> str1 = ' hello, fanison '
        >>> type(str1)
        str
ログイン後にコピー

Unicode エンコードを使用する場合は、文字の前に文字 u を使用して識別します

        >>> str2 = u'你好,fanison'
        >>> type(str2)
        unicode
ログイン後にコピー

ドキュメント文字列: モジュール、クラス、または関数の最初のステートメントが 1 文字の場合、その文字列はドキュメント文字列となり、__doc__ 属性を使用して参照できます。

#例:

            >>> def printName():
                    "the function is print hello"
                    print 'hello'
            >>> printName.__doc__
ログイン後にコピー

演算子:

# S [i] シーケンス要素に戻る I

スライス計算 s [i: j] 1 つのスライスに戻る

拡張スライス演算子 s[i:j:stride]

例:

            >>> str3 = 'hello,fanison'
            >>> str2[0:]
            'hello,fanison'      返回所有元素
            >>> str2[0:7]
            'hello,f'            返回索引7之前的所有元素
            >>> str2[0:7:2]
            'hlof'               返回从索引0到6内步径为2的元素,即隔一个取一个
            >>> str2[7:0:-2]        
            'a,le'               从索引7处倒着隔一个取一个取到索引1处
            >>> str2[-4:-1]
            'iso'                从索引-4处取到-2处       
            >>> str2[-4::-1]
            'inaf,olleh'         从-4处到开始处倒着取
ログイン後にコピー

注:

Step 正の場合、それは意味しますインデックスは小さいものから大きいものへと取得されます i < j

ステップ パスは負です。これは、インデックスが大きいものから小さなものへ取得されることを意味します i > j

サポートされる操作:

インデックス付け、スライス、min()、max()、len() など

#len(s) 数値s 内の要素の数

min (s) s の最小値

Max (s) s)

の最大値 サポート方法:

S.index (SUB [,start [,end]]) 指定された文字列 sub が最初に出現する位置を検索します

S.upper() 文字列を大文字に変換します

S. lower() one 文字列を小文字形式に変換

# S.Join (T) は、分離主義接続シーケンス T の文字列として S を使用します

 >>> l1 = list(str1)
>>> l1
[&#39;h&#39;, &#39;e&#39;, &#39;l&#39;, &#39;l&#39;, &#39;o&#39;, &#39;,&#39;, &#39;f&#39;, &#39;a&#39;, &#39;n&#39;, &#39;i&#39;, &#39;s&#39;, &#39;o&#39;, &#39;n&#39;]
>>> &#39;&#39;.join(l1)
&#39;hello,fanison&#39;             使用空字符作为分隔符连接列表l1
S.replace(old, new[, count])             替换一个字符串
>>> str1.replace(&#39;fan&#39;,&#39;FAN&#39;)
&#39;hello,FANison&#39;
ログイン後にコピー

注:

## を使用しますhelp () ヘルプを取得するには

#>>> help(str.join)

2) List

リスト: コンテナの種類 .リーリー

注:

## 元の場所の元の変更をサポートしているため、メモリの場所は変更されません。ID () を使用してその場所の変更を表示できます。

ビルド

## L.append(object) L の末尾に新しい要素を追加する’s . マージされたリストを追加します (2 番目のリストの内容が 1 つの要素として最後に追加されます)

         >>> list1 = [ 1,2,3,&#39;x&#39;,&#39;n&#39; ]
         >>> list1[1]=56
         >>> print list1
         [1, 56, 3, &#39;x&#39;, &#39;n&#39;]
         >>> list1[1:3]=[]              会删除索引1到索引3之前的元素
         >>> print list1
         [1, &#39;x&#39;, &#39;n&#39;]   
         >>> del(list1[1])              使用del函数删除list索引为1的元素
         >>> print list1
         [1, &#39;n&#39;]
ログイン後にコピー

L.pop ([Index]) 要素のインデックスを返し、リストから削除します。key である要素

      >>> l1 = [ 1,2,3 ]
                        >>> l2 = [ &#39;x&#39;,&#39;y&#39;,&#39;z&#39;]
                        >>> l1.append(l2)
                        >>> l1
                        [1, 2, 3, [&#39;x&#39;, &#39;y&#39;, &#39;z&#39;]]          使用append方法会以其原有存在形式追加
                        >>> l1 = [ 1,2,3 ]
                        >>> l1.extend(l2)
                        >>> l1
                        [1, 2, 3, &#39;x&#39;, &#39;y&#39;, &#39;z&#39;]            注意两种增加的区别
ログイン後にコピー

s へs ‐to ‐ ‐‐ ‐‐ ‐nキー、

L.insert(index, object) 在索引index处插入值

                        >>> l1.insert(1,&#39;abc&#39;)
                        >>> l1
                        [&#39;x&#39;, &#39;abc&#39;, 2, 75]
ログイン後にコピー

L.sort() 排序

L.reverse() 逆序

                        >>> l1.sort()
                        [2, 75, &#39;abc&#39;, &#39;x&#39;]
                        >>> l1.reverse()
                        [&#39;x&#39;, &#39;abc&#39;, 75, 2]
ログイン後にコピー

l1 + l2: 合并两个列表,返回一个新的列表;不会修改原列表;

                        >>> l1 = [ 1,2,3]
                        >>> l2 = [ &#39;x&#39;,&#39;y&#39;,&#39;z&#39;]
                        >>> l1 + l2
                        [1, 2, 3, &#39;x&#39;, &#39;y&#39;, &#39;z&#39;]
ログイン後にコピー

l1 * N: 把l1重复N次,返回一个新列表;

                        >>> l1 * 3
                        [1, 2, 3, 1, 2, 3, 1, 2, 3]         使用id()查看是否生成新列表
ログイン後にコピー

成员关系判断字符:

in 用法: item in container

not in item not in container

                            >>> l1 = [ &#39;x&#39;,&#39;y&#39;,3 ]
                            >>> &#39;y&#39; in l1
                            True
                            >>> &#39;x&#39; not in l1
                            False
ログイン後にコピー

列表解析:[]

列表复制方式:

浅复制:两者指向同一内存对象

                    >>> l1 = [ 1,2,3,4 ]
                    >>> l2 = l1
                    >>> id(l1) == id(l1)
                    True                            可以看出两者内存地址相同
                    >>> l1.append(&#39;x&#39;)
                    >>> print l1
                    [ 1,2,3,4,&#39;x&#39; ]
                    >>> print l2
                     [ 1,2,3,4,&#39;x&#39; ]
ログイン後にコピー

深复制:两者指向不同内存对象

1)导入copy模块,使用deepcoop方法

                     >>> import copy
                     >>> l3 = copy.deepcopy(l1)
                     >>> id(l3) == id(l1)
                     False                          地址不同
ログイン後にコピー

2)复制列表的所有元素,生成一个新列表

                    >>> l4 = l1[:]              
                    >>> print l4
                    [ 1,2,3,4,&#39;x&#39; ]
                    >>> l1.append(6)
                    >>> print l1
                    [ 1,2,3,4,&#39;x&#39;,6 ]               l1改变
                    >>> print l4
                    [ 1,2,3,4,&#39;x&#39; ]                 l4不变
ログイン後にコピー

3)元组

表达式符号:()

容器类型

任意对象的有序集合,通过索引访问其中的元素,不可变对象,长度固定,异构,嵌套

常见操作:

                    >>> t1 = ( 1,2,3,&#39;xyz&#39;,&#39;abc&#39;)
                    >>> type(t1)
                    tuple
                    >>> len(t1)
                    5
                    >>> t2 = ()                             定义一个空元组
                    >>> t3 = ( , )
                    SyntaxError: invalid syntax             报错:使用逗号分隔的条件是最少要有一个元素
ログイン後にコピー

(1,)

                    >>> t1[:]
                    ( 1,2,3,&#39;xyz&#39;,&#39;abc&#39; )
                    >>> t1[1:]
                    (2, 3, &#39;xyz&#39;, &#39;abc&#39;)
ログイン後にコピー

(1,2)

                    >>> t1[1:4]
                    (2, 3, &#39;xyz&#39;)
                    >>> t4 = &#39;x&#39;,1,&#39;yz&#39;,45,[2,4,6]              注意!!!这样也可以生成元组
                    >>> t4  
                    (&#39;x&#39;, 1, &#39;yz&#39;, 45, [2, 4, 6])
ログイン後にコピー

t1 + t4: 合并两个元组,返回一个新的元组;不会修改原元组;

                    >>> t1 + t4
                    (1, 2, 3, &#39;xyz&#39;, &#39;abc&#39;, &#39;x&#39;, 1, &#39;yz&#39;, 45, [2, 4, 6])
ログイン後にコピー

t1 * N: 把l1重复N次,返回一个新元组;

                    >>> t1 * 3
                    (1, 2, 3, &#39;xyz&#39;, &#39;abc&#39;, 1, 2, 3, &#39;xyz&#39;, &#39;abc&#39;, 1, 2, 3, &#39;xyz&#39;, &#39;abc&#39;)
ログイン後にコピー

成员关系判断

in

not in

注意:

虽然元组本身不可变,但如果元组内嵌套了可变类型的元素,那么此类元素的修改不会返回新元组;

例:

                    >>> t4 = (&#39;x&#39;, 1, &#39;yz&#39;, 45, [2, 4, 6])
                    >>> id(t4)
                    44058448
                    >>> t4[4]                           
                    [2, 4, 6]
                    >>> t4[4].pop()                     弹出列表内一个元素
                    6
                    >>> print t4[4]
                    [2, 4]
                    >>> print t4
                    (&#39;x&#39;, 1, &#39;yz&#39;, 45, [2, 4]) 
                    >>> id(t4)
                    44058448                            由此可见,对元组内列表内的修改也会使元组发生改变,没有返回新元组
ログイン後にコピー

以上がPythonのシーケンスタイプとは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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

ホット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ヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

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

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

hadidb:pythonの軽量で水平方向にスケーラブルなデータベース hadidb:pythonの軽量で水平方向にスケーラブルなデータベース Apr 08, 2025 pm 06:12 PM

hadidb:軽量で高レベルのスケーラブルなPythonデータベースHadIDB(HadIDB)は、Pythonで記述された軽量データベースで、スケーラビリティが高くなっています。 PIPインストールを使用してHADIDBをインストールする:PIPINSTALLHADIDBユーザー管理CREATEユーザー:CREATEUSER()メソッド新しいユーザーを作成します。 Authentication()メソッドは、ユーザーのIDを認証します。 fromhadidb.operationimportuseruser_obj = user( "admin"、 "admin")user_obj。

MongoDBデータベースパスワードを表示するNAVICATの方法 MongoDBデータベースパスワードを表示するNAVICATの方法 Apr 08, 2025 pm 09:39 PM

Hash値として保存されているため、Navicatを介してMongoDBパスワードを直接表示することは不可能です。紛失したパスワードを取得する方法:1。パスワードのリセット。 2。構成ファイルを確認します(ハッシュ値が含まれる場合があります)。 3.コードを確認します(パスワードをハードコードできます)。

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

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

高負荷アプリケーションのMySQLパフォーマンスを最適化する方法は? 高負荷アプリケーションのMySQLパフォーマンスを最適化する方法は? Apr 08, 2025 pm 06:03 PM

MySQLデータベースパフォーマンス最適化ガイドリソース集約型アプリケーションでは、MySQLデータベースが重要な役割を果たし、大規模なトランザクションの管理を担当しています。ただし、アプリケーションのスケールが拡大すると、データベースパフォーマンスのボトルネックが制約になることがよくあります。この記事では、一連の効果的なMySQLパフォーマンス最適化戦略を検討して、アプリケーションが高負荷の下で効率的で応答性の高いままであることを保証します。実際のケースを組み合わせて、インデックス作成、クエリ最適化、データベース設計、キャッシュなどの詳細な主要なテクノロジーを説明します。 1.データベースアーキテクチャの設計と最適化されたデータベースアーキテクチャは、MySQLパフォーマンスの最適化の基礎です。いくつかのコア原則は次のとおりです。適切なデータ型を選択し、ニーズを満たす最小のデータ型を選択すると、ストレージスペースを節約するだけでなく、データ処理速度を向上させることもできます。

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

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

Amazon AthenaでAWS接着クローラーの使用方法 Amazon AthenaでAWS接着クローラーの使用方法 Apr 09, 2025 pm 03:09 PM

データの専門家として、さまざまなソースから大量のデータを処理する必要があります。これは、データ管理と分析に課題をもたらす可能性があります。幸いなことに、AWS GlueとAmazon Athenaの2つのAWSサービスが役立ちます。

MySQLはSQLサーバーに接続できますか MySQLはSQLサーバーに接続できますか Apr 08, 2025 pm 05:54 PM

いいえ、MySQLはSQL Serverに直接接続できません。ただし、次のメソッドを使用してデータ相互作用を実装できます。ミドルウェア:MySQLから中間形式にデータをエクスポートしてから、ミドルウェアを介してSQL Serverにインポートします。データベースリンカーの使用:ビジネスツールは、よりフレンドリーなインターフェイスと高度な機能を提供しますが、本質的にはミドルウェアを通じて実装されています。

Redisでサーバーを開始する方法 Redisでサーバーを開始する方法 Apr 10, 2025 pm 08:12 PM

Redisサーバーを起動する手順には、以下が含まれます。オペレーティングシステムに従ってRedisをインストールします。 Redis-Server(Linux/Macos)またはRedis-Server.exe(Windows)を介してRedisサービスを開始します。 Redis-Cli ping(Linux/macos)またはRedis-Cli.exePing(Windows)コマンドを使用して、サービスステータスを確認します。 Redis-Cli、Python、node.jsなどのRedisクライアントを使用して、サーバーにアクセスします。

See all articles