
1 imn1 2021 年 3 月 22 日 你重新看一下 index()的用法 应该是 i+1,不是 index(i)+1 后面一个也是这样 |
2 Pagliacii 2021 年 3 月 22 日 index 只会返回第一个指定元素的索引,比如你代码里的 ha.index(i) 只会得到 4 这个结果 |
3 xiri 2021 年 3 月 22 日 如果 i 等于 0,不管你遍历到的是哪一个 0,ha.index(i)永远返回 4 ( list.index 是返回列表中第一个等于该值的元素的索引) |
5 maloneleo88 OP |
6 maloneleo88 OP @maloneleo88 打错字,直接报错,此时变量 i 是字符串直接加数字报错 |
7 Pagliacii 2021 年 3 月 22 日 @maloneleo88 #5 那就直接 for i in range(3, len(ha), 9) |
8 imn1 2021 年 3 月 22 日 @maloneleo88 #5 这程序看得晕,i 一般表示下标,要同时使用下标和值,就 i,v 对应 enumerate 好了 |
9 ch2 2021 年 3 月 22 日 有重复元素,用 index 会坑的 |
10 maloneleo88 OP |
11 maloneleo88 OP @ch2 是啊,新手不知道。 以前都是只有一个元素,很好用。不明白为什么不能直接用 index 循环,这样多智能 |
12 biglazycat 2021 年 3 月 23 日 result = list(enumerate(ha)) for i in result[3::9]: if ha[i[0]] == '0' and ha[i[0] + 1] == '0': print(f"ha[{i[0] + 5}]: {ha[i[0] + 5]}") |
13 princelai 2021 年 3 月 24 日 reshape 一下维度做起来不是更方便吗 ``` ha_arr = np.array(ha) ha_arr = ha_arr.reshape(-1,9).astype(int) np.where((ha_arr[:,4]==0)&(ha_arr[:,5]==0),ha_arr[:,8],99999) ``` |