每一个列表中只要有一个元素出现两次,那么该列表即被判定为包含重复元素。
编写函数判定列表中是否包含重复元素,如果包含返回True,否则返回False。
然后使用该函数对n行字符串进行处理。最后统计包含重复元素的行数与不包含重复元素的行数。
输入格式:
输入n,代表接下来要输入n行字符串。
然后输入n行字符串,字符串之间的元素以空格相分隔。
输出格式:
True=包含重复元素的行数, False=不包含重复元素的行数
,后面有空格。
输入样例:
5
1 2 3 4 5
1 3 2 5 4
1 2 3 6 1
1 2 3 2 1
1 1 1 1 1
输出样例:
True=3, False=2
在Python中,列表和集合是两个不同的概念。其中列表中的元素是可重复的,而集合中没有重复的元素。所以,这个题我们可以通过列表是否可以成功转化为集合来判断该列表中是否有重复的元素,这样就可以避免过多的循环。代码如下:
n = int(input()) #列表的个数
false = true = 0
for i in range(n):
list = input()
a_list = []
a_list = list.split() #将输入转化为列表
if len(a_list) == len(set(a_list)): #重点思想!!!!
false += 1
else:
true += 1
print("True=%d, False=%d"%(true, false))