python - 为什么 join 内置函数对我的代码没有影响?

标签 python string join

我有一个错误,我将其简化为:

a = ['a','b','c']
print( "Before", a )
" ".join(a)
print( "After", a )

输出这个:

runfile('C:/program.py', wdir=r'C:/')

Before ['a', 'b', 'c']
After ['a', 'b', 'c']

这是怎么回事?

最佳答案

str.join不会就地操作,因为字符串对象在 Python 中是不可变的。相反,它返回一个全新的字符串对象。

如果你想让a引用这个新对象,你需要显式地重新分配它:

a = " ".join(a)

演示:

>>> a = ['a','b','c']
>>> print "Before", a
Before ['a', 'b', 'c']
>>> a = " ".join(a)
>>> print "After", a
After a b c
>>>

关于python - 为什么 join 内置函数对我的代码没有影响?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24292308/

相关文章:

python - 使用 Python 使用 gettext 进行字符串替换的最佳实践

java - 使用来自两个不同数据库的两个表通过 JOOQ 构建左连接查询

r - 匹配和计算 R 中的字符串

python - 每次求和通过某个阈值时如何重新采样?

python - Docker Container中的Gunicorn Flask应用程序未暴露

python - 在 Pandas DataFrame 中用一张图定义两列

python - Python 中的正则表达式

sql - Spark sql 中的广播连接(Spark 1.6.2)

mysql - Rails 使用连接关联提取值

python - 将计算列附加到现有数据框