用Python写一个程序,要求从给定列表中找出只出现一次数,如给出:1 2 2,输出1
时间: 2023-05-21 15:03:12 浏览: 756
以下是 Python 代码实现:
```
nums = [1, 2, 2]
for num in nums:
if nums.count(num) == 1:
print(num)
break
```
输出结果为:1
相关问题
用Python编写程序 3. 找出唯一数 【问题描述】 从给定列表中找出只出现一次的数,如:给出[1,2,2,3,1,4,3],返回4。 【样例输入】 1 2 2 3 1 4 3 【样例输出】 4
### 回答1:
以下是 Python 代码实现:
```python
def find_unique_num(nums):
"""
找出列表中只出现一次的数
"""
count_dict = {}
for num in nums:
if num in count_dict:
count_dict[num] += 1
else:
count_dict[num] = 1
for num, count in count_dict.items():
if count == 1:
return num
# 测试
nums = [1, 2, 2, 3, 1, 4, 3]
print(find_unique_num(nums)) # 输出 4
```
希望能够帮到您!
### 回答2:
问题描述:编写一个程序,从给定列表中找出只出现一次的数,并将该数输出。
编程思路:可以使用Python中的字典来解决此问题。首先,遍历列表中的每个元素,将其作为key存入字典中,并将对应的value初始化为0。然后,再次遍历列表中的每个元素,每遇到一次就将对应的value加1。接下来,遍历字典中的key值,找到对应的value值为1的那个key,即为所需的只出现一次的数。最后,输出该数即可。
代码如下:
```python
def find_unique_number(numbers):
count_dict = {}
for num in numbers:
if num in count_dict:
count_dict[num] += 1
else:
count_dict[num] = 1
for key, value in count_dict.items():
if value == 1:
return key
numbers = input("请输入列表中的数(以空格分隔):").split()
print("只出现一次的数为:", find_unique_number(numbers))
```
输入样例:1 2 2 3 1 4 3
输出样例:只出现一次的数为:4
### 回答3:
题目要求找出给定列表中只出现一次的数。解决这个问题可以通过字典来实现。
首先,我们可以使用Python的split()函数将输入的字符串按照空格分割成列表。然后,我们可以创建一个空字典,用于存储每个数的出现次数。接下来,我们遍历列表中的每个数,将其作为字典的键,出现次数作为字典的值,如果该数已经在字典中,则将其对应的值加一。最后,我们再次遍历列表,找到唯一出现次数为1的数,并将它返回。
下面是Python代码的实现:
```python
numbers = input().split()
count_dict = {}
for number in numbers:
if number in count_dict:
count_dict[number] += 1
else:
count_dict[number] = 1
for number in numbers:
if count_dict[number] == 1:
print(number)
break
```
运行程序后,输入样例输入并按下回车,将会输出唯一出现一次的数。对于样例输入:1 2 2 3 1 4 3,程序将会输出:4。
给定n个整数,编写一个实验程序找出它们中出现次数最多的数。如果这样的数有多个,请输出其中最小的一个。
可以使用哈希表来解决这个问题。具体做法如下:
1. 遍历整个数组,对于每个数,将其作为键,在哈希表中进行查找。如果该数已经在哈希表中,则将该数对应的值加一;否则,在哈希表中添加该数,并将其值初始化为 1。
2. 遍历哈希表,找到出现次数最多的数。如果有多个数出现次数相同,则输出最小的那个数。
以下是 Python 代码实现:
```python
def find_most_frequent(nums):
hashmap = {}
max_freq = 0
min_num = float('inf')
for num in nums:
if num in hashmap:
hashmap[num] += 1
else:
hashmap[num] = 1
if hashmap[num] > max_freq:
max_freq = hashmap[num]
min_num = num
elif hashmap[num] == max_freq:
min_num = min(min_num, num)
return min_num
```
时间复杂度为 O(n),空间复杂度为 O(n)。