Python - 列表中的值减法

标签 python list nested-lists

我是 Python 的新手,我在使用列表时遇到了困难。我希望从列表中除值 10.5 之外的所有值中减去 1。下面的代码给出了 x3 列表分配索引超出范围的错误。到目前为止的代码:

x2=[10.5, -6.36, 11.56, 19.06, -4.37, 26.56, 9.38, -33.12, -8.44, 0.31, -13.44, - 6.25, -13.44, -0.94, -0.94, 19.06, 0.31, -5.94, -13.75, -23.44, -51.68, 10.5]
x3=[]
i=0
while (i<22):
 if x2[i]==10.5:
    x3[i]=x2[i]
else:
    x3[i]=x2[i]-1
break
#The result I want to achieve is:
#x3=[10.5, -7.36, 10.56, 18.06, -5.37, 25.56, 8.38, -34.12, -9.44, -1.31, -14.44, -7.25, -14.44, -1.94, -1.94, 18.06, -1.31, -6.94, -14.75, -24.44, -52.68, 10.5]

最佳答案

尝试以下操作:

x3 = [((x - 1) if x != 10.5 else x) for x in x2]

关于Python - 列表中的值减法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10042851/

相关文章:

python - 来自 unix 管道的 pip install 参数

nested-lists - 更改嵌套列表中的过滤值

javascript - 动态计算并显示列表中列表项的总数?

python - 抓取谷歌赞助的网站

python - 如何重新采样并将每个索引四舍五入到最接近的秒数?

python - 如何在自定义损失函数中迭代张量?

Python-文件的列平均值

java - 如何使用reverse方法反转ArrayList的所有元素?

python - 从python中的列表和字典的复杂列表中提取元素

python - 将两个列表之间的数据排序到一个新列表中,并使用新列表中保存的数据格式化字符串列表