用Python语言编写将数组中所有奇数都放到所有偶数之前
时间: 2024-01-24 17:17:39 浏览: 32
可以使用双指针的思想,一个指针指向数组头部,一个指针指向数组尾部,遍历数组,如果头部指针指向的数是偶数,尾部指针指向的数是奇数,就交换两个数的位置。
以下是实现代码:
```python
def odd_even(nums):
left = 0
right = len(nums) - 1
while left < right:
if nums[left] % 2 == 0 and nums[right] % 2 == 1:
nums[left], nums[right] = nums[right], nums[left]
left += 1
right -= 1
elif nums[left] % 2 == 1:
left += 1
elif nums[right] % 2 == 0:
right -= 1
return nums
```
使用示例:
```python
nums = [1, 2, 3, 4, 5, 6, 7, 8, 9]
print(odd_even(nums)) # [1, 9, 3, 7, 5, 6, 4, 8, 2]
```
在该示例中,原始数组为 `[1, 2, 3, 4, 5, 6, 7, 8, 9]`,执行 `odd_even` 函数后,奇数都被放到了偶数之前,结果为 `[1, 9, 3, 7, 5, 6, 4, 8, 2]`。
相关问题
编写python程序,读入一个包含10个整数的数组,输出这个数组中所有奇数的个数。
好的,根据您的要求,我来为您编写一个Python程序,实现读入一个包含10个整数的数组,输出这个数组中所有奇数的个数。代码如下:
```python
# 输入数组
arr = []
for i in range(10):
num = int(input("请输入第%d个整数:" % (i+1)))
arr.append(num)
# 计算奇数个数
count = 0
for num in arr:
if num % 2 == 1:
count += 1
# 输出结果
print("该数组中所有奇数的个数为:%d" % count)
```
运行程序后,您可以依次输入10个整数,程序会自动计算出其中所有奇数的个数并输出。如果需要扩展数组长度,只需要修改循环次数即可。
我要用python语言将两个数组放到一张图中进行可视化比较
好的,你可以使用Python中的Matplotlib库来实现这个需求。以下是一个简单的示例代码:
```python
import matplotlib.pyplot as plt
import numpy as np
# 生成两个随机数组
arr1 = np.random.rand(10)
arr2 = np.random.rand(10)
# 创建图形对象
fig, ax = plt.subplots()
# 绘制两个数组的折线图
ax.plot(arr1, label='Array 1')
ax.plot(arr2, label='Array 2')
# 添加图例
ax.legend()
# 显示图形
plt.show()
```
这个代码将生成两个包含10个随机数的数组,然后使用Matplotlib库创建一个图形对象,并绘制两个数组的折线图。最后,添加图例并显示图形。你可以根据需要修改代码来适应你的数据。