为了账号安全,请及时绑定邮箱和手机立即绑定

Python中的元组减法语句

Python中的元组减法语句

临摹微笑 2021-03-28 12:28:12
使用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 此代码将以列表格式给出正确的输出。
查看完整描述

3 回答

?
慕运维8079593

TA贡献1876条经验 获得超5个赞

而不是打印这些值,而是将它们附加到列表中:


z = []

for y in x:

    if y>256:

        z.append(y-256)

    else:

        z.append(y)

您可以if/else像这样缩短语句:


z = []

for y in x:

    z.append(y-256 if y>256 else y)

然后,您可以将所有这些行放入列表推导中:


z = [y-256 if y > 256 else y for y in x]


查看完整回答
反对 回复 2021-04-06
?
九州编程

TA贡献1785条经验 获得超4个赞

要获取列表,请使用列表理解/生成器表达式。


>>> 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)



查看完整回答
反对 回复 2021-04-06
  • 3 回答
  • 0 关注
  • 297 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号