在python中将相同的值赋给列表中的不同位置
假设我在python中有以下列表:在python中将相同的值赋给列表中的不同位置,python,list,Python,List,假设我在python中有以下列表: x = [1,2,3,4,5,6,7,8,9,10] 我想将值0指定给列表上的特定位置,例如位置0、7和9。我是否可以在python中执行以下操作而不必求助于循环 x[0,7,9] = 0 好了: x[0] = x[7] = x[9] = 0 此外,您还可以以更通用、更灵活的方式对阵列执行此操作: >>> import numpy as np >>> x = np.array([1,2,3,4,5,6,7,8,9,10
x = [1,2,3,4,5,6,7,8,9,10]
我想将值0指定给列表上的特定位置,例如位置0、7和9。我是否可以在python中执行以下操作而不必求助于循环
x[0,7,9] = 0
好了:
x[0] = x[7] = x[9] = 0
此外,您还可以以更通用、更灵活的方式对阵列执行此操作:
>>> import numpy as np
>>> x = np.array([1,2,3,4,5,6,7,8,9,10])
>>> indices = [0,7,9]
>>> x[indices] = 0 # or just x[[0,7,9]] = 0
>>> x
array([0, 2, 3, 4, 5, 6, 7, 0, 9, 0])
但这可能不是您想要的,因为numpy是一种更高级的东西。好了:
x[0] = x[7] = x[9] = 0
此外,您还可以以更通用、更灵活的方式对阵列执行此操作:
>>> import numpy as np
>>> x = np.array([1,2,3,4,5,6,7,8,9,10])
>>> indices = [0,7,9]
>>> x[indices] = 0 # or just x[[0,7,9]] = 0
>>> x
array([0, 2, 3, 4, 5, 6, 7, 0, 9, 0])
但这可能不是您想要的,因为numpy是一种更高级的东西。谢谢。我太被Matlab宠坏了,我一直在寻找一种比for循环更优雅的方法。但是如果我可以用numpy来做这件事,那么我也可以用它。谢谢。如果你被Matlab宠坏了,那么numpy绝对是你的选择。你会发现这个链接特别有用:。太棒了!非常感谢,谢谢。我太被Matlab宠坏了,我一直在寻找一种比for循环更优雅的方法。但是如果我可以用numpy来做这件事,那么我也可以用它。谢谢。如果你被Matlab宠坏了,那么numpy绝对是你的选择。你会发现这个链接特别有用:。太棒了!非常感谢你。