Python中的join()函数的用法及列表推导式
【红色为转载后新增部分】
函数: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[,......]])
返回值:将多个路径组合后返回
注:第一个绝对路径之前的参数将被忽略
>>> os.path.join('d',r'c:\a','b','c')
'c:\\a\\b\\c'
import os
BASE_PATH = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
DATA_PATH = os.path.join(BASE_PATH,'data') print(BASE_PATH)
print(DATA_PATH)
G:\pytest
G:\pytest\data
二、实例
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 + ")"
四、列表推导式
实现相同的功能,代码更加简洁。
列表推导式写9*9乘法表
print('\n'.join([' '.join(['%s*%s=%s'%(x,y,x*y) for x in range(1,y+1)]) for y in range(1,10)]))
非列表推导式写法
for i in range(1,10):
for j in range(1, i+1):
print(str(j)+'*'+str(i)+'='+str(j*i)+' ', end='') # end=''表示输出不换行
print('\n', end='')

参考:http://www.cnblogs.com/hjhsysu/p/5700962.html
Python中的join()函数的用法及列表推导式的更多相关文章
- Python中的join()函数的用法
函数:string.join() Python中有join()和os.path.join()两个函数,具体作用如下: join(): 连接字符串数组.将字符串.元组.列表中的元素以指定的字 ...
- 详解Python中的join()函数的用法
函数:string.join() Python中有join()和os.path.join()两个函数,具体作用如下: join(): 连接字符串数组.将字符串.元组.列表中的元素以指定的 ...
- (转)Python中的split()函数的用法
Python中的split()函数的用法 原文:https://www.cnblogs.com/hjhsysu/p/5700347.html Python中有split()和os.path.split ...
- Python中关于join函数的陷阱?
目录 说明 数据说明 正确示例 错误示例 解决办法 说明 最近在用Python的join函数连接多个列表时,出现了如下两个错误,即合并类型不一致.折腾了很久才找到原因,真是基础不牢,地动山摇. Typ ...
- python day12 ——1.生成器2.生成器表达式 3.列表推导式
一.生成器 什么是生成器. 生成器实质就是迭代器. 在python中有三种方式来获取生成器: 1. 通过生成器函数. 2. 通过各种推导式来实现生成器 . 3. 通过数据的转换也可以获取生成器. 1. ...
- Python中的join()函数split()函数
函数:string.join() Python中有join()和os.path.join()两个函数,具体作用如下: join(): 连接字符串数组.将字符串.元组.列表中的元素以指定的 ...
- Python中的split()函数的用法
函数:split() Python中有split()和os.path.split()两个函数,具体作用如下:split():拆分字符串.通过指定分隔符对字符串进行切片,并返回分割后的字符串列表(lis ...
- Python中的filter()函数的用法
转载自:脚本之家 Python内建的filter()函数用于过滤序列. 和map()类似,filter()也接收一个函数和一个序列.和map()不同的时,filter()把传入的函数依次作用于每个元素 ...
- Python中的strip()函数的用法
函数:string.strip() Python strip() 方法用于移除字符串头尾指定的字符(默认为空格). 一.函数说明 strip() 语法:str.strip([rm]); 参数说明 rm ...
随机推荐
- 微信小程序案例:获取微信访问用户的openid
在微信开发项目中,获取openid是项目常遇的问题,本文通过主要讲解实现在微信小程序中如何获取用户的openid,案例实现非常简单 具体实现方法是通过登录接口获取登录凭证,然后通过request请求微 ...
- 手机APP自动化之uiautomator2 +python3 UI自动化
题记: 之前一直用APPium直到用安卓9.0 发现uiautomatorviewer不支持安卓 9.0,点击截屏按钮 一直报错,百度很久解决方法都不可以,偶然间看见有人推荐:uiautomator ...
- php5.6安装Zend Opcache扩展
假设php5.6安装路径为/data2/php[root@nextcloud src]# pwd/usr/local/src[root@nextcloud src]# wget http://pecl ...
- python-编码-15
ascii A : 00000010 8位 一个字节 unicode A : 00000000 00000001 00000010 00000100 32位 四个字节 中:00000000 00000 ...
- 《Linux内核设计》第17章学习笔记
- 手工编程:hello world
全部用命令行工具和Notepad编辑器,用手工创建并编译一个C的命令行程序:hello world. public class Hello{ public static void ma ...
- Beta 冲刺 随笔合集
团队展示: Team一二一 Beta 冲刺 凡事预则立 Beta冲刺 一 Beta冲刺 二 Beta冲刺 三 Beta冲刺 四 Beta冲刺 五 Beta冲刺 六 Beta冲刺 七 Beta总结 用户 ...
- 【转】CSS颜色代码大全
转自http://www.cnblogs.com/axing/archive/2011/04/09/CSS.html FFFFFF #DDDDDD #AAAAAA #888888 #666666 #4 ...
- Docker 网络部分的简单学习以及转帖别人的blog
1. 感谢一下 大神: http://www.cnblogs.com/sparkdev/ 最近有时间的话 就会读一下他的博客.学习了解docker相关的知识 今天简单做了下 测试 在这里面记录一下. ...
- Visual Studio 2017 激活密钥 [复制记录]
Visual Studio 2017(VS2017) 企业版 Enterprise 注册码:NJVYC-BMHX2-G77MM-4XJMR-6Q8QF Visual Studio 2017(VS201 ...