unique函数多条件不重复计数
在编程中,我们常常需要对一组数据进行多条件筛选并进行不重复计数。这时,可以使用unique函数来实现。
unique函数可以将一个序列中相邻的重复元素全部去重,并返回去重后的序列。如果希望按照多个条件进行去重,则可以使用lambda表达式来定义多个条件。
例如,假设有一个包含多个人姓名和年龄的列表,我们要对其中同名同年龄的人进行去重计数,可以使用以下代码:
names = [('Alice', 25), ('Bob', 30), ('Alice', 25), ('Bob', 35), ('Charlie', 25)]
unique_names = list(set(names))
count = len(unique_names)
print(count)
上述代码中,unique_names会去重后返回一个包含不重复元素的列表,通过len函数可以计算列表长度,即为不重复计数。
但如果我们希望只对同名同年龄的人进行去重计数,可以使用以下代码:
names = [('Alice', 25), ('Bob', 30), ('Alice', 25), ('Bob', 35), ('Charlie', 25)]
unique_names = list(set(names))
cond = lambda x: x[0] + str(x[1])
unique_names = list(set(unique_names, key=cond))
count = len(unique_names)
print(count)
上述代码中,通过lambda表达式将姓名和年龄以字符串形式相加,作为去重的条件。然后在unique函数中使用key参数,指定lambda表达式作为去重条件。这样就可以对同名同年龄的人进行去重计数,而不会将不同年龄的人也去重。
通过unique函数多条件不重复计数,可以在编程中更加灵活地进行数据处理。
字符串函数去重
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论