我有一个奇偶整数相等的列表。目标是修改列表,使其在奇数索引处具有奇数整数,在偶数索引处具有偶数整数。
我的方法是:
我找出偶数和奇数索引的数字。然后找出偶数索引处的奇数和奇数索引处的偶数。最后把放错地方的号码换掉。
x = [3, 2, 5, 6, 4, 7, 8, 9, 10, 11]
even_pos = []
odd_pos = []
for i in range(len(x)):
if x[i] % 2 == 0:
even_pos.append(i)
else:
odd_pos.append(i)
even_pos_with_odd = []
odd_pos_with_even = []
for j in range(len(even_pos)):
if even_pos[j] % 2 != 0:
even_pos_with_odd.append(j)
if odd_pos[j] % 2 == 0:
odd_pos_with_even.append(j)
for n in range(len(even_pos_with_odd)):
temp = x[odd_pos[odd_pos_with_even[n]]]
x[odd_pos[odd_pos_with_even[n]]] = x[even_pos[even_pos_with_odd[n]]]
x[even_pos[even_pos_with_odd[n]]] = temp
我对这个解决方案不太满意,尽管它有效。有没有更好的方法来解决我的问题?我的目标是使x[]
类[2, 3, 6, 5, 4, 7, 8, 9, 10, 11]
可能以相同的奇偶格式排序。
目前没有回答
相关问题 更多 >
编程相关推荐