3 回答

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]

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)
添加回答
举报