Python3 join()方法
描述
Python join() 方法用于将序列中的元素以指定的字符连接生成一个新的字符串。
语法
join()方法语法:
str.join(sequence)
参数
- sequence -- 要连接的元素序列。
返回值
返回通过指定字符连接序列中元素后生成的新字符串。
实例
以下实例展示了join()的使用方法:
实例
#!/usr/bin/python3
s1 = "-"
s2 = ""
seq = ("r", "u", "n", "o", "o", "b") # 字符串序列
print (s1.join( seq ))
print (s2.join( seq ))
s1 = "-"
s2 = ""
seq = ("r", "u", "n", "o", "o", "b") # 字符串序列
print (s1.join( seq ))
print (s2.join( seq ))
以上实例输出结果如下:
r-u-n-o-o-b runoob
Python3 字符串
gainforward
gai***rward@163.com
str.join(sequence) 函数中的 sequence 中的元素必须的字符串,否则会报错,例如:
gainforward
gai***rward@163.com
yao_yaofu
522***154@qq.com
join() 扩展
>>> jn1="-" >>> jn2="------" >>> str='name' >>> jn1.join(str) #字符串也属于序列 'n-a-m-e' >>> jn2.join(str) #使用多字符连接序列 'n------a------m------e' >>> fruits={'apple','banana'} >>> jn1.join(fruits) #连接的序列是集合 'apple-banana' >>> animals=("pig","dog") >>> jn1.join(animals) #连接的序列是元祖 'pig-dog' >>> students={"name1":"joy","name2":"john","name3":"jerry"} #连接的序列是字典,会将所有key连接起来 >>> jn1.join(students) 'name1-name2-name3'yao_yaofu
522***154@qq.com
Hen9
yyh***@qq.com
参考地址
原方法释义中操作的是可迭代对象,不是专指序列,广义上可迭代对象的例子包括所有序列类型(例如 list、str 和 tuple)以及某些非序列类型例如 dict、文件对象 以及定义了 __iter__() 方法或是实现了 Sequence 语义的 __getitem__() 方法的任意自定义类对象。
另外,如果可迭代对象中只能存在 string 元素,否则会报 TypeError 异常。
Hen9
yyh***@qq.com
参考地址
TheBlackTea
wy1***1251@163.com
实例扩展,将给定的字符串倒序后输出(虽然 python 自带方法可以搞定),.join 方法的确是程序中字符串与列表相互转换的很好用的工具:
#!/usr/bin/python # -*- coding: UTF-8 -*- str_1 = input("输入一个字符串:") len1 = len(str_1) - 1 str_list = [] while(len1 >= 0): str_list.append(str_1[len1]) len1 = len1 - 1 print(''.join(str_list))TheBlackTea
wy1***1251@163.com
Yu
zbo***24@163.com
当连接对象为 Tuple 元组时,按顺序连接:
>>> add = "-" >>> Tuple = ("L", "o", "v", "e") # 元组Tuple字符串序列 >>> add.join(Tuple) 'L-o-v-e'当连接对象为 Set 集合时,会随机打乱顺序连接:
>>> add = "-" >>> Set = {"L", "o", "v", "e"} # 集合Set字符串序列 >>> add.join(Set) 'o-v-e-L'当连接对象为 List 列表时,按顺序连接:
当连接对象为 String 字符串时,按顺序连接:
当连接对象为 Dict 字典时,将所有的键 key 按顺序连接:
>>> add = " " >>> Dict = {'I': 'I', 'Love': 'love', 'You': 'you'} # 字典Dict序列 >>> add.join(Dict) 'I Love You'Yu
zbo***24@163.com