【轉】Python中的join()函數的用法

來源:互聯網
上載者:User

標籤:文法   處理   value   style   取出   .com   需要   seq   串連   

 

【紅色為轉載後新增部分】

 

函數:string.join()

Python中有join()和os.path.join()兩個函數,具體作用如下:

join():連接字串數組。將字串、元組、列表中的元素以指定的字元(分隔字元)串連產生一個新的字串
os.path.join():將多個路徑組合後返回

 

一、函數說明

1、join()函數

文法:‘sep‘.join(seq)

參數說明
sep:分隔字元。可以為空白
seq:要串連的元素序列、字串、元組、字典


上面的文法即:以sep作為分隔字元,將seq所有的元素合并成一個新的字串

傳回值:返回一個以分隔字元sep串連各個元素後產生的字串

 

2、os.path.join()函數

文法:os.path.join(path1[,path2[,......]])

傳回值:將多個路徑組合後返回

註:第一個絕對路徑之前的參數將被忽略

 

二、執行個體

1.對序列進行操作(以 ‘.‘為分隔字元)

seq = [‘hello‘,‘good‘,‘boy‘,‘doiido‘]

print(‘.‘.join(seq))

hello.good.boy.doiido

 

2.對元組進行操作(以 ‘:‘為分隔字元)

seq = (‘hello‘,‘good‘,‘boy‘,‘doiido‘)

print(‘:‘.join(seq))

hello:good:boy:doiido

 

3.對字典進行操作

seq = {‘hello‘:1,‘good‘:2,‘boy‘:3,‘doiido‘:4}

print(‘:‘.join(seq))

doiido:boy:hello:good

 

4.合并目錄

import os

print(os.path.join(‘/hello/‘,‘good/boy/‘,‘doiido‘))

/hello/good/boy/doiido

 

5.對字串進行操作, (以 ‘-‘為分隔字元)

seq = ‘ABC‘

print(‘-‘.join(seq))

A-B-C

 

三.Json字典轉為SQL語句

#表名polls_questions

table_name = "polls_questions"

 

#需要插入的Json資料
data={‘id‘: 1, ‘question_text‘: ‘you buy pro6?‘, ‘pub_date‘:‘2016-07-23 09:58:56.000000‘}

 

#對每一個值加單引號
for key in data:
  data[key] = "‘" + str(data[key]) + "‘"

 

【備忘】:對於值為字串的處理,先擷取字串內容,擷取出來是沒有引號的,然後轉為str類型

print(data[‘question_text‘])
you buy pro6?
print(str(data[‘question_text‘]))
you buy pro6?
print("‘"+str(data[‘question_text‘])+"‘")
‘you buy pro6?‘

#利用join()函數把id、question_text、pub_date合并在一起(id,question_text,pub_date)
key = ‘,‘.join(data.keys())


#利用join()函數把值合并在一起(‘1‘,‘you buy pro6?‘,‘2016-07-23 09:58:56.000000‘)
value = ‘,‘.join(data.values())

 

#INSERT INTO polls_questions (id,pub_date,question_text) VALUES (‘1‘,‘2016-07-23 09:58:56.000000‘,‘you buy pro6?‘)

real_sql = "INSERT INTO " + table_name + " (" + key + ") VALUES (" + value + ")"

 

 

 

http://www.cnblogs.com/hjhsysu/p/5700962.html

【轉】Python中的join()函數的用法

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.