python函数笔记之:.join()函数的常规操作与非常规操作,一些细节

本文详细解析Python中join()函数的使用技巧,包括常规应用和格式显示特性,以及如何利用该函数简化列表保存到文件的过程,提升代码效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这个函数挺有用的,主要是用于将序列中的元素按照指定的字符进行连接而生成一个新的字符串
划重点如下

  1. 序列
  2. 元素
  3. 指定的字符(字符串)
  4. 新的字符串

常规

先看看常规的一些常识

语法

str.join(seq)

参数

  • seq – 包含元素的序列
  • str – 指定的字符或者字符串

返回值

新字符串

常规举例

# 这是两段德文字符串组成的list
texts = ['David Gallo: Das ist Bill Lange.',
 'Wir werden Ihnen einige Geschichten.',]
# 开始操作
print('one outputs --> ',' '.join(texts))
print('two outputs --> ')
'\n'.join(texts)
print('three outputs --> ','\n'.join(texts))
# outputs
one outputs --> David Gallo: Das ist Bill Lange. Wir werden Ihnen einige Geschichten.
two outputs --> David Gallo: Das ist Bill Lange. \nWir werden Ihnen einige Geschichten.
three outputs --> David Gallo: Das ist Bill Lange.
Wir werden Ihnen einige Geschichten.

很多人注意到这里就没了,其实用心点的朋友会发现一个问题:
two output和three output明明是一样的输出要求,为何结果不一样
一个是.....Lange.\nWir .......一个是....Lange[回车]Wir...
有些人肯定说这是废话了,一个打印和一个不打印,巴拉巴拉说一堆。如果仅仅了解这样的,就莫过于肤浅了。我们可以用它做一些非常规操作。
这个细节还是很有意思的

细节

关键在于print()这个函数,当我们用python中的一些内置函数进行操作时候,需要格式显示,类似于转码操作,因此,printopen里面的一些操作都会有影响。

非常规操作

  • 以前,把上述一个list保存经常是用for循环
with open(fname,'w') as fout:
	for sent in texts:
		fout.write(sent+'\n')

得到保存文件

1.David Gallo: Das ist Bill Lange.
2.Wir werden Ihnen einige Geschichten.
3.
  • 现在,当我们掌握了上面的格式显示的特性后,可以这样写
with open(fname,'w') as fout:
	fout.write('\n'.join(texts))

得到保存的文件

1.David Gallo: Das ist Bill Lange.
2.Wir werden Ihnen einige Geschichten.

对比发现,没有多打印一行\n,没有了第三行
好处
1.深入了解join()函数
2.简洁了代码,工整,也不用去理解循环语句
3.输出完全按照自己理想输出

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值