我在某个随机网站上发现了以下代码,说明了级联:
data_numb = input("Input Data, then press enter: ")
numb = ''.join(list(filter(str.isdigit, data_numb)))
print('(' + numb[:3] + ') ' + numb[3:6] + '-' + numb[6:])
我想知道
中的单引号是做什么的numb = ''.join(
感谢您的帮助!
答案 0 :(得分:1)
join(iterable)
是str
类中的方法。
返回一个字符串,该字符串是可迭代的字符串的串联。 如果其中包含任何非字符串值,则会引发TypeError 可迭代的,包括字节对象。元素之间的分隔符是 提供此方法的字符串。
''.join(("Hello", "World"))
将返回'HelloWorld'
。
';'.join(("Hello", "World", "how", "are", "you"))
将返回'Hello;World;how;are;you'
。
join
对于需要在字符串列表(或任何可迭代的字符串)中的每个元素之间添加定界符非常有用。
看起来什么都没有,但是如果您不使用join
,由于边缘效应,这种操作通常很难实现:
对于字符串列表或元组:
def join(list_strings, delimiter):
str_result = ''
for e in list_strings[:-1]:
str_result += e + delimiter
if list_strings:
str_result += list_strings[-1]
return str_result
对于任何可迭代的:
def join(iterable, delimiter):
iterator = iter(iterable)
str_result = ''
try:
str_result += next(iterator)
while True:
str_result += delimiter + next(iterator)
except StopIteration:
return str_result
由于join
适用于任何可迭代的项目,因此您无需根据过滤结果创建列表。
numb = ''.join(filter(str.isdigit, data_numb))
也可以
答案 1 :(得分:0)
Join方法用于将字符串与任何可迭代对象连接。在此示例中,第一个字符串是一个空字符串,也由两个单引号''
表示(不要将单引号与单引号引起混淆)。
字符串对象的join()
方法将其与提供的另一个可迭代对象连接在一起。因此,如果第一个字符串是空字符串,则结果字符串是iterable中元素的串联输出。
它的用途是什么
它可用于连接字符串列表。例如:
a = ['foo', 'bar']
b = ''.join(a)
print(b) # foobar
它可用于连接字符串。 (因为字符串也是可迭代的)
a = "foobar"
b = ''.join(a)
print(b) # foobar
您可以想到更多用例,但这只是要点。您也可以参考文档here。