Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/279.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python .join函数如何与for循环一起工作?_Python - Fatal编程技术网

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