Pythonの結合関数

Pythonのjoin関数は非常に強力で、文字列、タプル、リスト要素を指定された文字(区切り文字)で接続して新しい文字列を生成できます。また、区切り文字を文字列にすることもできます。次へこの機能について詳しく説明してください。

1. 文法

1.1 string.join()

' sep'.join(seq)

コード分析:

**sep:**は区切り文字を表し、:、.-;などの単一文字、または: 'abc'などの文字列にすることができます。

**seq:**は、接続される要素のシーケンスを表します。これには、文字列、タプル、リスト、辞書などがあります。

注: 'sep'およびseqは文字列型のみであり、int型およびfloat型ではありません。

エラー例1(「sep」はintタイプ):

エラー例2(seqの要素はint型です):

1.2 os.path.join()

os.path.join(Path1,Path2,Path3,...)

コード分析:

path1、path2、path3 ...などを\で接続して、ファイルパスを形成します。

2. 具体例

2.1 接続する要素のシーケンスは文字列

例1-(区切り文字は1文字です)

sep =" "            #デリミタ(スペース)
seq ='ハッピーホリデーの女神'  #連結する文字列
  
str = sep.join(seq)  #文字列内の要素を区切り文字で連結します

答えを得た:

' ハッピーホリデーの女神'

例2-(区切り文字は複数の文字です)

sep ="  (*^__^*)  "  #デリミタ(スペース)
seq ='ハッピーホリデーの女神'   #連結する文字列
  
str = sep.join(seq)   #文字列内の要素を区切り文字で連結します

答えを得た:

' 女性(*^__^*)神(*^__^*)セクション(*^__^*)日(*^__^*)速い(*^__^*)楽しい'

2.2 接続する要素のシーケンスはリストです

例1-(区切り文字は1文字です)

sep ="-"             #デリミタ(-)
seq =['I','2','U']   #接続するリスト
  
str = sep.join(seq)   #リスト内の要素を区切り文字で接続します

答えを得た:

' I-2-U'

例2-(区切り文字は複数の文字です)

sep ='-女神-'                  #デリミタ(複数の文字)
seq =['私','君は','広く受け入れられている','']    #接続するリスト
  
str = sep.join(seq)

答えを得た:

' 私-女神-君は-女神-広く受け入れられている-女神-'

**注:**重複はリストに似ているため、詳細には触れません

2.3 接続する要素のシーケンスは辞書です

例1-(区切り文字は1文字です)

sep =" "                                 #デリミタ(スペース)
seq ={'W':1,'i':2,'n':3,'k':4,'n':5}    #接続する辞書
  
str = sep.join(seq)                        #辞書の要素を区切り文字で接続します

答えを得た:

' W i n k'

**注:**辞書はキーのみを接続します。キーに重複がある場合は、最初のキーのみが保持されます。

例2-(区切り文字は複数の文字です)

sep =" (^_-) "                          #デリミタ(スペース)
seq ={'W':1,'i':2,'n':3,'k':4,'n':5}      #接続する辞書
  
str = sep.join(seq)                        #辞書の要素を区切り文字で接続します

答えを得た:

' W (^_-) i (^_-) n (^_-) k'

2.4 接続する要素はパスです

**例1 **:

path1 ='D:\\新しいフォルダ'
path2 ='WeChatパブリックアカウント'
path3 ='16.クイックスタートpython'

Path_Final = os.path.join(path1, path2, path3)

答えを得た:

' D:\\新しいフォルダ\\WeChatパブリックアカウント\\16.クイックスタートpython'

# 次のステートメントを使用して、現在のパスをパスに変更できます_Final
os.chdir(Path_Final)

**注:**差異+符号接続

path1+path2+path3

答えを得た:

' D:新しいフォルダWeChatパブリックアカウント'   #セパレーターなし

**例2:興味深いパス接続を見て、その理由を考えてみてください。 ****

path1 ='D:'
path2 ='新しいフォルダ:'
path3 ='WeChatパブリックアカウント:'
path4 ='17.pythonの結合関数'

Path_Final = os.path.join(path1, path2, path3, path4)

答えを得た:

' D:新しいフォルダ:\\WeChatパブリックアカウント:\\17.pythonの結合関数'

os.path.joinはpath1の後にコネクタ\を追加せず、path2の後にコネクタを追加しました。これは、そうでないことを示しています。結果はコネクタを追加していません。なぜ追加されないのか考えてみてください。

3. 結合機能の実際の適用

3.1 pythonコードを使用して主要な要素を分解し、結合関数で出力します

num =int(input())                       #プライムファクターを分解する数を入力します
factor_list =[]                         #主な要因のリストを保存するように設定します
def factor_fun(n):for i inrange(2, n+1):              #主な要因を見つけるためのループを構築する
  if n%i ==0:                     #nがiを除算できる場合は、iを主因子のリストに追加します
   factor_list.append(i)if n!=i:                     #iがnと等しくなく、iがnの因数である場合は、nをiで割って、新しい番号と呼び出し係数を取得します。_楽しい機能
    factor_fun(int(n/i))return factor_list
        
c =factor_fun(num)                     #関数を呼び出す
print(num,'=', end=' ',sep =' ')print('*'.join('%s'%id for id in factor_list))  #プットファクター_リスト内の数値データを文字に変換するには、*接続

結果を取得するには50を入力してください:

5050=2*5*5

3.2 結合機能を使用して、現在のパスに基づいて新しいパスを形成します

import os     #パスモジュールのインポート
os.getcwd()   #現在のパスを取得する
data_save = os.path.join(os.getcwd(),'data_save')  #現在のパスを取得し、新しいパスを結合します

答えを得た:

' C:\\Users\\Administrator\\29_pythonの結合関数\\data_save'

3.3 0を検索します。公式アカウント全体のデザインディレクトリにある最新ファイルの絶対パスと名前

import os
import time
file_dir=os.path.dirname(os.path.abspath('.'))+'\\0.全体的なパブリックアカウントの設計'    #パスを取得
lists=os.listdir(file_dir)                                            #パスの下のファイル名を取得します
lists.sort(key=lambda fn:os.path.getatime(file_dir+"\\"+fn))          #出力ディレクトリ内のすべてのファイル名を変更時刻で並べ替えます
file=os.path.join(file_dir,lists[-1])                                 #出力リストの最後のファイルの絶対パスと名前

答えを得た:

' D:\\新しいフォルダ\\WeChatパブリックアカウント\\0.全体的なパブリックアカウントの設計\\写真に注意を向ける.pptx'

3.3のコードにより、特定のフォルダー内のファイルに対してバッチ操作を実行できます。

この記事は、結合機能を使用した後の私の意見の一部です。不適切な点があれば訂正してください。

Recommended Posts

Pythonの結合関数
pythonの関数
Python enumerate()関数
Python関数バッファー
pythonでid関数を実行する方法
Pythonの匿名関数とは何ですか
pythonにヘルパー関数はありますか
pythonでのadbの機能は何ですか
03.Pythonエントリの演算子
pythonでround関数を使用する方法
Pythonカスタム関数の基本
Pythonでzip関数を使用する方法
12.Python3でのネットワークプログラミング
pythonでステートメントを印刷する
Python組み込み関数-compile()
Python関数の基礎学習
Pythonデータ分析-関数の適用
pythonでformat関数を使用する方法
Python3組み込み関数table.md
Pythonでの同時リクエスト
Ubuntuにpythonをインストールする
Pythonでのコンテキスト管理
pythonの算術演算子
pythonでguiを書く
Pythonプリントプリントタイマー機能
PythonでのMongoDBの使用
PythonのStr文字列
Pythonでの計算ジオメトリ
Pythonでの同時リクエスト(パート2)
Pythonの上位関数の使用法の概要!
Pythonのタプルの添え字
Python3.9の注目すべき更新ポイント
Pythonトルネードアップロードファイル機能
Pythonマジック関数eval()学習
PythonがFTP機能を実装する方法
Pythonアプリケーションを3分でコンテナ化
pythonのイントロスペクションとは何ですか
pythonのオブジェクト指向とは何ですか
Pythonのジェネレーターとイテレーター
Pythonは画像スティッチング機能を実装しています
Pythonの上位関数の使用法の概要!
Pythonで文字列について話す
pythonでのwheelの使用法
Python |再帰を使用して解決する関数
Pythonの対数法の要約
Python開発でのパンダの使用
pythonでnohupコマンド命令を使用する
Pythonが関数のオーバーロードをサポートしないのはなぜですか?
pythonのリスト内包表記とは何ですか
Pythonの3日目の1行関数の学習
PythonでNumpyを使い始める
詳細な並べ替えアルゴリズム(Pythonで実装)
pythonコードでラップする方法
pythonの一般的なエラーと解決策
Python関数の定義とパラメーターの説明
Python開発でのnumpyの使用
PythonATM関数の実装コード例
pythonのdefは何をしますか
Pythonで括弧を省略する方法
Pythonでの辞書の詳細な使用法
pythonでのosパッケージの使用