判断两个list是否有相同元素
时间: 2023-12-12 11:02:59 浏览: 153
可以通过将两个列表转换为集合,然后比较它们的交集是否为空来判断两个列表是否有相同元素,示例代码如下:
```python
def has_common_element(list1, list2):
set1 = set(list1)
set2 = set(list2)
return bool(set1 & set2) # 判断两个集合的交集是否为空
# 测试
list1 = [1, 2, 3]
list2 = [3, 4, 5]
list3 = [6, 7, 8]
print(has_common_element(list1, list2)) # True
print(has_common_element(list1, list3)) # False
```
另外,也可以使用循环遍历的方式来判断两个列表是否有相同元素,示例代码如下:
```python
def has_common_element(list1, list2):
for item in list1:
if item in list2:
return True
return False
# 测试
list1 = [1, 2, 3]
list2 = [3, 4, 5]
list3 = [6, 7, 8]
print(has_common_element(list1, list2)) # True
print(has_common_element(list1, list3)) # False
```
相关问题
Java 判断两个list是否有相同元素
Java 中同样可以通过将两个列表转换为集合,然后比较它们的交集是否为空来判断两个列表是否有相同元素,示例代码如下:
```java
import java.util.*;
public class Main {
public static boolean hasCommonElement(List<Integer> list1, List<Integer> list2) {
Set<Integer> set1 = new HashSet<>(list1);
Set<Integer> set2 = new HashSet<>(list2);
return !Collections.disjoint(set1, set2); // 判断两个集合的交集是否为空
}
public static void main(String[] args) {
List<Integer> list1 = Arrays.asList(1, 2, 3);
List<Integer> list2 = Arrays.asList(3, 4, 5);
List<Integer> list3 = Arrays.asList(6, 7, 8);
System.out.println(hasCommonElement(list1, list2)); // true
System.out.println(hasCommonElement(list1, list3)); // false
}
}
```
另外,也可以使用循环遍历的方式来判断两个列表是否有相同元素,示例代码如下:
```java
import java.util.*;
public class Main {
public static boolean hasCommonElement(List<Integer> list1, List<Integer> list2) {
for (int item : list1) {
if (list2.contains(item)) {
return true;
}
}
return false;
}
public static void main(String[] args) {
List<Integer> list1 = Arrays.asList(1, 2, 3);
List<Integer> list2 = Arrays.asList(3, 4, 5);
List<Integer> list3 = Arrays.asList(6, 7, 8);
System.out.println(hasCommonElement(list1, list2)); // true
System.out.println(hasCommonElement(list1, list3)); // false
}
}
```
Python判断两个list是否有相同元素
在Python中,你可以通过多种方式来判断两个列表(list)是否包含相同的元素。这里提供两种常见的方法:
1. **集合(Set)比较**:
- 首先,将每个列表转换为集合(set),因为集合里的元素都是唯一的。然后,你可以简单地比较这两个集合是否相等,如果相等,那么它们有相同的元素。
```python
list1 = [1, 2, 3]
list2 = [3, 4, 5]
if set(list1) == set(list2):
print("两个列表有相同的元素")
else:
print("两个列表没有相同的元素")
```
2. **循环遍历**:
- 另一种方法是直接遍历一个列表,检查元素是否存在于另一个列表中。这需要嵌套循环。
```python
def have_common_elements(list1, list2):
for item in list1:
if item in list2:
return True
return False
list1 = [1, 2, 3]
list2 = [3, 4, 5]
if have_common_elements(list1, list2):
print("两个列表有相同的元素")
else:
print("两个列表没有相同的元素")
```
阅读全文