hid = []
for counter,value in enumerate(alist):
idx1 = np.where(attr['xval'].values == value[0]) #Find Serial index
idx2 = np.where(attr['xval'].values == value[1])
hid.append(idx1)
hid.append(idx2)
这给了我这个
hid
[(array([7467]),),
(array([7473]),),
(array([7403]),),
(array([7410]),),
(array([7386]),),
(array([7409]),),
(array([7380]),),
(array([7439]),),]
我只想拥有这些值的列表/数组,并将
1
添加到每个值。print(idx1[0])+1
Error: TypeError: unsupported operand type(s) for +: 'NoneType' and 'int'
有一个更好的方法吗?由于元组是不可变的,我该怎么做?
一个列表
[array([511, 517], dtype=int32),
array([447, 454], dtype=int32),
array([430, 453], dtype=int32),
array([424, 483], dtype=int32)]
最佳答案
用
hid = [(array([7467]),),
(array([7473]),),
(array([7403]),),
(array([7410]),),
(array([7386]),),
(array([7409]),),
(array([7380]),),
(array([7439]),)]
现在,每个元素都是一个列表,所以hid是列表的列表。如果这是您想要的,那没问题,但是如果您要将其转换为平面列表,请使用
hid = np.array(hid).flatten()
,以获得诸如hid = [7467, 7473, 7403, 7410, 7386, 7409, 7380, 7439]
的平面数组。要使用+1打印每个值,只需
hid_plus_one = tuple(np.array(hid)+1)
print(hid_plus_one)
要么
hid_plus_one = tuple(v+1 for v in hid)
print(hid_plus_one)
也就是说,如果您想将其作为元组,否则可以跳过
tuple(..)
部分关于python - 如何在元组的每个元素上添加数字?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48816854/