小编Lui*_*igi的帖子

Python三元条件用于连接字符串

由Martijn Pieters回答.谢谢.
这是因为声明与表达.并且因为.join()不变异(是纯函数),所以需要将其赋值给变量.

问题:
这种奇怪的原因是什么?

目标:

if base == 'T':
    RNA_seq += 'U'
else:
    RNA_seq += base
Run Code Online (Sandbox Code Playgroud)

以下方法有效:

# += in expression1 and .join() in expression2
RNA_seq += 'U' if base == 'T' else RNA_seq.join(base)
# Edit note: RNA_seq.join(base) works because it returns `base`
#       aka. RNA_seq += 'U' if base == 'T' else base
Run Code Online (Sandbox Code Playgroud)

但是以下不起作用:

# Using += on both expressions
RNA_seq += 'U' if base == 'T' else RNA_seq += base
Run Code Online (Sandbox Code Playgroud)

要么

# Using .join() for both expressions …
Run Code Online (Sandbox Code Playgroud)

python augmented-assignment

0
推荐指数
1
解决办法
874
查看次数

标签 统计

augmented-assignment ×1

python ×1