Python .join函数如何与for循环一起工作?
我遇到过这行代码,但我不确定它的意思Python .join函数如何与for循环一起工作?,python,Python,我遇到过这行代码,但我不确定它的意思 print(' '.join(str(j) for j in arr)) str.join将iterable的所有元素与字符串连接起来。在这种情况下,是空的空间 str(j)for j in arr是一个生成器表达式,它生成一个iterable,该iterable是arr中每个元素的字符串化版本。str.join()方法将接收一个iterable,并返回一个字符串。 字符串将由iterable中与指定字符串连接的所有字符串组成 所以 会回来的 'hello
print(' '.join(str(j) for j in arr))
str.join
将iterable的所有元素与字符串连接起来。在这种情况下,是空的空间
str(j)for j in arr
是一个生成器表达式,它生成一个iterable,该iterable是arr
中每个元素的字符串化版本。str.join()
方法将接收一个iterable,并返回一个字符串。
字符串将由iterable中与指定字符串连接的所有字符串组成
所以
会回来的
'hello world'
您看到的'.join(str(j)表示arr中的j)
几乎就像简单地执行'.join(arr)
,
但是由于arr
中的元素不是字符串,因此生成器str(j)用于arr中的j
用于将每个元素转换为字符串。行(arr中j的str(j)
是一个生成器表达式:
然后可以使用.join()
迭代生成器表达式输出的生成元素。例如:
### say arr is a list of numbers
>>> print(''.join(str(j) for j in [6,7,8]))
... 678
生成器表达式是可编辑的,当您使用.join()
时,它有助于连接各个元素
### say arr is a list of numbers
>>> print(''.join(str(j) for j in [6,7,8]))
... 678