[英]Python 2 dimensional table and distinct entries
我正在做一个叫做different()
的函数。 它需要一个二维表作为输入,并返回表中不同条目的数量。 我不确定如何启动它,我真的很感谢一些建议。 使用时,它在外壳中应如下所示:
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?
def different(t):
return len(set(tuple(item) for item in t))
我认为有两种可能的解释
>>> 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)])
无论哪种方式,不同的都应返回set
的len
def different(t):
return len(set(...))
如果您喜欢itertools,可以执行以下操作
from itertools import chain
def different(t):
return len(set(chain.from_iterable(t)))
从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。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.