python - Python 中的元组减法语句

标签 python list if-statement tuples

使用 python 如果值大于 256,我想从列表中的值中减去 256,但我希望输出为元组格式,这就是我需要帮助的地方。

x = [85, 229, 162, 45, 280, 186, 275, 265, 252, 188, 135, 150, 351, 326, 217, 43, 301, 281, 333, 39, 246, 150, 139, 186, 195, 132, 196, 171, 307, 272, 97, 330, 271, 179, 276, 141, 151, 214, 191, 111, 261, 290, 146]

for y in x:
    if y>256:
        print y-256
    else:
        print y 

此代码将给出正确的输出,但采用列表格式。

最佳答案

要获取列表,请使用 list comprehension/generator expression .

>>> x = [85, 229, 162, 45, 280, 186, 275, 265, 252, 188, 135, 150, 351, 326, 217, 43, 301, 281, 333, 39, 246, 150, 139, 186, 195, 132, 196, 171, 307, 272, 97, 330, 271, 179, 276, 141, 151, 214, 191, 111, 261, 290, 146]
>>> [y - 256 if y > 256 else y for y in x]
[85, 229, 162, 45, 24, 186, 19, 9, 252, 188, 135, 150, 95, 70, 217, 43, 45, 25, 77, 39, 246, 150, 139, 186, 195, 132, 196, 171, 51, 16, 97, 74, 15, 179, 20, 141, 151, 214, 191, 111, 5, 34, 146]
>>> tuple(y - 256 if y > 256 else y for y in x)
(85, 229, 162, 45, 24, 186, 19, 9, 252, 188, 135, 150, 95, 70, 217, 43, 45, 25, 77, 39, 246, 150, 139, 186, 195, 132, 196, 171, 51, 16, 97, 74, 15, 179, 20, 141, 151, 214, 191, 111, 5, 34, 146)

关于python - Python 中的元组减法语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17334609/

相关文章:

python - 标量乘法?

python - 如何使列表理解迭代函数

mysql - select 查询中的 if else 语句

MySQL INSERT IF(自定义 if 语句)

python - 将稀疏 scipy 矩阵加载到现有的 numpy 稠密矩阵中

Python:使用for循环比较列表中的项目

python - 理解 FeatureUnion (pandas) 工作的困惑

.net - 如何比较两个字符串列表以找到相同的字符串

python - 在迭代列表中的元素时,如何在 python 中创建对象?

excel - 尝试具有一系列可能结果的 Excel IF 语句