我正在创建一个名为different()
的函数。它需要将二维表作为输入并返回表中不同条目的数量。我不确定如何启动它,我真的很感激一些建议。使用时,它应该在shell中看起来像这样:
t = [[1,0,1], [0,1,0]]
different(t)
>>2
这是我到目前为止所做的:
def different()-> int
''' takes a two-dimensional table and returns number of distinct entries'''
t = []
while
#use set method?
答案 0 :(得分:0)
def different(t):
return len(set(tuple(item) for item in t))
答案 1 :(得分:0)
我认为有两种可能的解释
>>> set(j for i in t for j in i)
set([0, 1])
和
>>> set(tuple(i) for i in t) # equivalent to set(map(tuple, t))
set([(0, 1, 0), (1, 0, 1)])
无论哪种方式,不同的都应该返回len
set
def different(t):
return len(set(...))
如果您喜欢itertools,可以执行以下操作
from itertools import chain
def different(t):
return len(set(chain.from_iterable(t)))
答案 2 :(得分:0)
从python的基本知识可以解决上述问题
t = [[1,0,1], [0,1,0], [1,2,3], [1,0,1]]
a = []
for i in t:
if i not in a:
a.append(i)
print len(a)
您创建了一个新的列表名称'a',并且您已在列表中插入了所有这些唯一的元素。你可以获得新列表的长度a。