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

路易吉

马丁·彼得斯(Martijn Pieters)回答。谢谢你。
这是因为语句vs表达式。并且由于.join()不会发生突变(是一个纯函数),因此需要将其分配给变量。

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

目标:

if base == 'T':
    RNA_seq += 'U'
else:
    RNA_seq += base

以下方法有效:

# += 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

但是,以下操作无效:

# Using += on both expressions
RNA_seq += 'U' if base == 'T' else RNA_seq += base

或者

# Using .join() for both expressions
RNA_seq.join('U') if base == 'T' else RNA_seq.join(base)

在Python2和Python3中,结果都是相同的。

马丁·彼得斯(Martijn Pieters)

像所有作业一样,+=是一个声明您永远不能在表达式中放入语句。首先+=评估右边的表达式(之后的所有内容,然后将其结果用于扩充分配。

可以执行以下操作:

RNA_seq += 'U' if base == 'T' else base

现在,表达式根据的值解析为'U'basebase

如果可行'U' if base == 'T' else RNA_seq.join(base),则意味着将RNA_seq.join()返回一个新值,并且不会RNA_seq就地发生突变RNA_seq.join('U') if base == 'T' else RNA_seq.join(base)然后还会返回一个新值,并保持原始值RNA_seq不变,并且您没有将其分配回RNA_seq

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

带有三元条件运算符的系列上的 Python 字符串连接

来自分类Dev

用于更改Javascript模板字符串中复选框的三元代码

来自分类Dev

在JavaScript中使用三元运算符连接字符串

来自分类Dev

.Net MVC Razor - 在三元运算符中连接字符串

来自分类Dev

Ruby三元-警告:条件中的字符串文字

来自分类Dev

三元条件下的angular-gettext和翻译字符串

来自分类Dev

python中的字符串格式化方法如何用于连接列表元素

来自分类Dev

字符串中的三元运算符

来自分类Dev

三元字符串到Node类

来自分类Dev

三元字符串到Node类

来自分类Dev

一元运算符应用于三元运算符参数的用法(例如,* operator参数应用于字符串)

来自分类Dev

一元运算符应用于三元运算符参数的用法(例如,* operator参数应用于字符串)

来自分类Dev

用于连接字符串和列中的一些值的函数

来自分类Dev

C ++三元运算符字符串连接

来自分类Dev

我可以在字符串串联中使用条件三元运算符吗?

来自分类Dev

在三元组中迭代字符串

来自分类Dev

根据随机三元组猜测字符串

来自分类Dev

了解具有串联字符串的三元运算符

来自分类Dev

使用SPARQL提取包含特定子字符串的三元组

来自分类Dev

检查Ansible中的字符串是否等于和三元运算符

来自分类Dev

三元运算符字符串长度错误

来自分类Dev

为什么三元运算符构成我的字符串?

来自分类Dev

TCL三元运算符不喜欢空字符串

来自分类Dev

将列表转换为字符串三元组序列

来自分类Dev

字符串转换为三元运算符

来自分类Dev

如何评估三元字符串表达式并识别值

来自分类Dev

在三元组中迭代字符串

来自分类Dev

字符串转换为三元运算符

来自分类Dev

如何在字符串中使用运算符三元?

Related 相关文章

  1. 1

    带有三元条件运算符的系列上的 Python 字符串连接

  2. 2

    用于更改Javascript模板字符串中复选框的三元代码

  3. 3

    在JavaScript中使用三元运算符连接字符串

  4. 4

    .Net MVC Razor - 在三元运算符中连接字符串

  5. 5

    Ruby三元-警告:条件中的字符串文字

  6. 6

    三元条件下的angular-gettext和翻译字符串

  7. 7

    python中的字符串格式化方法如何用于连接列表元素

  8. 8

    字符串中的三元运算符

  9. 9

    三元字符串到Node类

  10. 10

    三元字符串到Node类

  11. 11

    一元运算符应用于三元运算符参数的用法(例如,* operator参数应用于字符串)

  12. 12

    一元运算符应用于三元运算符参数的用法(例如,* operator参数应用于字符串)

  13. 13

    用于连接字符串和列中的一些值的函数

  14. 14

    C ++三元运算符字符串连接

  15. 15

    我可以在字符串串联中使用条件三元运算符吗?

  16. 16

    在三元组中迭代字符串

  17. 17

    根据随机三元组猜测字符串

  18. 18

    了解具有串联字符串的三元运算符

  19. 19

    使用SPARQL提取包含特定子字符串的三元组

  20. 20

    检查Ansible中的字符串是否等于和三元运算符

  21. 21

    三元运算符字符串长度错误

  22. 22

    为什么三元运算符构成我的字符串?

  23. 23

    TCL三元运算符不喜欢空字符串

  24. 24

    将列表转换为字符串三元组序列

  25. 25

    字符串转换为三元运算符

  26. 26

    如何评估三元字符串表达式并识别值

  27. 27

    在三元组中迭代字符串

  28. 28

    字符串转换为三元运算符

  29. 29

    如何在字符串中使用运算符三元?

热门标签

归档