python join方法使用详解


Posted in Python onJuly 30, 2019

join方法

join这个方法,将可迭代的数据类型,转为字符串或者bytes,没错可以转为bytes类型。注意这个可迭代的数据中的元素必须是相同类型的。

jion里的参数可迭代对象就行,可迭代对象是指有__iter__方法的对象

# 列表为可迭代对象
list_1 = ["1","2","3","4"]  # 元素为字符串的列表
res = "".join(list_1)    # res的值为 "1234",数据类型为str

# 字典为可迭代对象
dict_1 = {"key1":"value2","key2":"value2"} # key为字符串类型的字段
res = "".join(dict_1)    # res的值为"key1key2",数据类型为str

# 自己写一个可迭代的对象
class A:
  __field = []

  def __init__(self, *args):
    for i in args:
      self.__field.append(i)

  def __iter__(self):
    changdu = len(self.__field)
    for i in range(self.__index, changdu):
      yield self.__field[i]

a = A("1","2","3","4")
res = "".join(a)     # res的值为"1234",数据类型为str

join为python的内置方法,具体源码是看不到的,我们大概也可以知道。对于上面代码中的变量list_1,dict_1,a都是可迭代对象。我们for循环它们,就可以拿到一个值,然后再将这个值进行相应的处理就ok

# 比如 "--".join(list_1)这个操作,它的输出为"1--2--3--4",一个字符串
list_1 = ["1","2","3","4"]
param = "--"
res = ""
for i in range(len(list_1)):
  if i == len(lis) - 1:
    res += lis[i]
  else:
    res += lis[i]
    res += param
print(res)  # 输出为 "1--2--3--4"

# 那么字典,还有对象a呢?
print(list(dict_1))  # 输出 ["key1","key2"]
print(list(a))    # 输出 ["1","2","3","4"]

我们实现join方法就是,将可迭代的对象先转为list类型,然后再执行上面那段代码(for循环那段)。这样大概能完成jion方法了

join方法最终返回值为str类型或者bytes类型,返回什么类型,要看是哪种类型的数据调用了join方法,比如上面的那些代码,全是由字符串调用,所以返回的也都是字符串类型。

"||".join(["a","b","c"])  # 输出 "a||b||c",类型为str
b"||".join([b"a", b"b", b"c"]) # 输出 b"a||b||c",类型为bytes类型

str类型数据调用了join方法,那么传入的可迭代对象,它的list(可迭代对象)里的元素也必须是str类型,如果为其他类型的话,程序就会报错。bytes类型调用也是一样,元素必须为bytes类型。

list_2 = ["1","2",3,4] # 列表中的元素由str类型,int类型
"".join(list_2)

执行上面的代码,程序会报错:TypeError: sequence item 2: expected str instance, int found

大概意思是接受字符串类型数据,发现了int类型数据

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python中int与str互转方法
Jul 02 Python
Python实现定期检查源目录与备份目录的差异并进行备份功能示例
Feb 27 Python
python实现微信自动回复机器人功能
Jul 11 Python
nginx黑名单和django限速,最简单的防恶意请求方法分享
Aug 09 Python
django中瀑布流写法实例代码
Oct 14 Python
Python Pandas 转换unix时间戳方式
Dec 07 Python
python paramiko远程服务器终端操作过程解析
Dec 14 Python
python怎么删除缓存文件
Jul 19 Python
Python获取浏览器窗口句柄过程解析
Jul 25 Python
Python读写csv文件流程及异常解决
Oct 20 Python
Python中json.dumps()函数的使用解析
May 17 Python
利用Python读取微信朋友圈的多种方法总结
Aug 23 Python
python实现屏保程序(适用于背单词)
Jul 30 #Python
python实现各种插值法(数值分析)
Jul 30 #Python
Django 通过JS实现ajax过程详解
Jul 30 #Python
django 微信网页授权认证api的步骤详解
Jul 30 #Python
Python Pandas 如何shuffle(打乱)数据
Jul 30 #Python
python tkinter实现屏保程序
Jul 30 #Python
python pandas 时间日期的处理实现
Jul 30 #Python
You might like
Cappuccino 卡布其诺咖啡之制作
2021/03/03 冲泡冲煮
php微信支付之APP支付方法
2015/03/04 PHP
PHP微信红包生成代码分享
2016/10/06 PHP
php reset() 函数指针指向数组中的第一个元素并输出实例代码
2016/11/21 PHP
PHP中file_put_contents追加和换行的实现方法
2017/04/01 PHP
thinkphp自定义权限管理之名称判断方法
2017/04/01 PHP
php实现自定义中奖项数和概率的抽奖函数示例
2017/05/26 PHP
php 处理png图片白色背景色改为透明色的实例代码
2018/12/10 PHP
LBS blog sql注射漏洞[All version]-官方已有补丁
2007/08/26 Javascript
js 对联广告、漂浮广告封装类(IE,FF,Opera,Safari,Chrome
2009/11/26 Javascript
js简单实现HTML标签Select联动带跳转
2013/10/23 Javascript
Javascript中设置默认参数值示例
2014/09/11 Javascript
浅谈Unicode与JavaScript的发展史
2015/01/19 Javascript
详解webpack性能优化——DLL
2017/10/20 Javascript
jQuery实现checkbox即点即改批量删除及中间遇到的坑
2017/11/11 jQuery
在 Typescript 中使用可被复用的 Vue Mixin功能
2018/04/17 Javascript
vue2.0 如何在hash模式下实现微信分享
2019/01/22 Javascript
让mocha支持ES6模块的方法实现
2020/01/14 Javascript
vue 组件基础知识总结
2021/01/26 Vue.js
[08:47]DOTA2每周TOP10 精彩击杀集锦vol.6
2014/06/25 DOTA
[14:56]教你分分钟做大人:巫医
2014/10/30 DOTA
python正则表达式re模块详细介绍
2014/05/29 Python
Python的内存泄漏及gc模块的使用分析
2014/07/16 Python
简单解决Python文件中文编码问题
2015/11/22 Python
python UNIX_TIMESTAMP时间处理方法分析
2016/04/18 Python
python中将\\uxxxx转换为Unicode字符串的方法
2018/09/06 Python
利用python将图片版PDF转文字版PDF
2019/05/03 Python
python正则表达式匹配不包含某几个字符的字符串方法
2019/07/23 Python
Python实现打印实心和空心菱形
2019/11/23 Python
win7上tensorflow2.2.0安装成功 引用DLL load failed时找不到指定模块 tensorflow has no attribute xxx 解决方法
2020/05/20 Python
Python3压缩和解压缩实现代码
2021/03/01 Python
新西兰网上购物,折扣店:BestDeals.co.nz
2019/03/20 全球购物
阿里巴巴Oracle DBA笔试题答案-备份恢复类
2013/11/20 面试题
2014年教学管理工作总结
2014/12/02 职场文书
2015年基建工作总结范文
2015/05/23 职场文书
postman中form-data、x-www-form-urlencoded、raw、binary的区别介绍
2022/01/18 HTML / CSS