计算矩阵中只出现一次的元素
Counting elements that appear only one time in a matrix
我有一个列表:
l = [['a', []], ['b', []], ['c', []], ['d', ['c']], ['e', ['d']], ['f', []], ['g', ['f', 'a', 'e']], ['h', ['g']]]
我想计算一个元素有多少次没有出现在另一个列表中,例如在这个列表中它是 b 和 h。
这些是唯一在所有列表中只出现一次的元素
, 所以函数会 return 2.
另一个例子:
l2 = [['a', []], ['b', []], ['c', ['b']], ['d', ['c', 'b', 'a']], ['f', ['d']], ['g', ['f', 'a']], ['h', ['f', 'c']], ['i', ['h', 'a']]]
这里我们得到了 2 个在所有列表中只出现一次的元素:g 和 i
我想使用 python 函数计数,但我真的不知道如何在这种情况下应用它。
n包含只出现一次的元素
l = [['a', []], ['b', []], ['c', []], ['d', ['c']], ['e', ['d']], ['f', []], ['g', ['f', 'a', 'e']], ['h', ['g']]]
m = []
n = []
counter = []
for i in l:
m.append(i[0])
for j in i[1]:
m.append(j)
m.sort()
for i in m:
count = 0
for j in m:
if i == j:
count += 1
counter.append(count)
n = [m[i] for i in range(0,len(m)) if counter[i] == 1]
您好,根据您的要求,我创建了一个名为 count(matrix) 的函数 returns 作为参数提供的矩阵中存在一次的 char 数组
def count(matrix):
result=[]
removed= []
for line in matrix:
if line[0] in result :
result.remove(line[0])
elif line[0] not in removed:
result.append(line[0])
removed.append(line[0])
for e in line[1]:
if e in result :
result.remove(e)
elif e not in removed:
result.append(e)
removed.append(e)
return result
希望这有用
我有一个列表:
l = [['a', []], ['b', []], ['c', []], ['d', ['c']], ['e', ['d']], ['f', []], ['g', ['f', 'a', 'e']], ['h', ['g']]]
我想计算一个元素有多少次没有出现在另一个列表中,例如在这个列表中它是 b 和 h。
这些是唯一在所有列表中只出现一次的元素 , 所以函数会 return 2.
另一个例子:
l2 = [['a', []], ['b', []], ['c', ['b']], ['d', ['c', 'b', 'a']], ['f', ['d']], ['g', ['f', 'a']], ['h', ['f', 'c']], ['i', ['h', 'a']]]
这里我们得到了 2 个在所有列表中只出现一次的元素:g 和 i
我想使用 python 函数计数,但我真的不知道如何在这种情况下应用它。
n包含只出现一次的元素
l = [['a', []], ['b', []], ['c', []], ['d', ['c']], ['e', ['d']], ['f', []], ['g', ['f', 'a', 'e']], ['h', ['g']]]
m = []
n = []
counter = []
for i in l:
m.append(i[0])
for j in i[1]:
m.append(j)
m.sort()
for i in m:
count = 0
for j in m:
if i == j:
count += 1
counter.append(count)
n = [m[i] for i in range(0,len(m)) if counter[i] == 1]
您好,根据您的要求,我创建了一个名为 count(matrix) 的函数 returns 作为参数提供的矩阵中存在一次的 char 数组
def count(matrix):
result=[]
removed= []
for line in matrix:
if line[0] in result :
result.remove(line[0])
elif line[0] not in removed:
result.append(line[0])
removed.append(line[0])
for e in line[1]:
if e in result :
result.remove(e)
elif e not in removed:
result.append(e)
removed.append(e)
return result
希望这有用