python计算两个列表中对应元素相等的个数
时间: 2023-03-30 07:05:04 浏览: 249
可以使用列表推导式和 zip() 函数来实现:
```python
list1 = [1, 2, 3, 4, 5]
list2 = [1, 3, 2, 4, 5]
count = sum([1 for x, y in zip(list1, list2) if x == y])
print(count) # 输出:2
```
这段代码中,zip() 函数将两个列表中对应位置的元素打包成元组,然后使用列表推导式和 if 语句来统计相等元素的个数。最后将统计结果输出。
相关问题
python对比两个长度一致的列表,输出列表对应位置元素相等的个数
可以使用zip函数将两个列表打包成元组,然后使用列表推导式遍历元组,判断对应位置元素是否相等,最后统计相等元素的个数即可。示例代码如下:
```python
list1 = [1, 2, 3, 4, 5]
list2 = [1, 2, 5, 4, 6]
count = sum(1 for x, y in zip(list1, list2) if x == y)
print(count) # 输出2,即有两个位置元素相等
```
注意,以上代码仅为示例,实际使用时需要根据具体情况进行修改。
用Python代码写一个程序判断4阶矩阵是否对称,并统计矩阵中素数的个数。
可以使用以下代码实现:
```python
import math
def is_prime(num):
if num <= 1:
return False
for i in range(2, int(math.sqrt(num))+1):
if num % i == 0:
return False
return True
def count_primes(matrix):
count = 0
for row in matrix:
for num in row:
if is_prime(num):
count += 1
return count
def is_symmetric(matrix):
for i in range(len(matrix)):
for j in range(i+1, len(matrix)):
if matrix[i][j] != matrix[j][i]:
return False
return True
# example matrix
matrix = [
[1, 2, 3, 4],
[2, 5, 6, 7],
[3, 6, 8, 9],
[4, 7, 9, 10]
]
if is_symmetric(matrix):
print("Matrix is symmetric")
else:
print("Matrix is not symmetric")
print("Number of primes in matrix: ", count_primes(matrix))
```
这个程序使用了两个函数,一个用于计算一个数是否为素数,另一个用于计算矩阵中素数的个数。判断矩阵是否对称的函数使用了两个嵌套的for循环来遍历矩阵中的元素,并检查对应的元素是否相等。