python获取列表并仅在使用set也存在负值时才返回 [英] python takes list and returns only if negative value also exists using set

查看:23
本文介绍了python获取列表并仅在使用set也存在负值时才返回的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

基本上我有一个很大的清单:

Basically I have a big list:

# where (n) is over a couple hundred thousand or is 1 million
def big_list(n):
    return [ randrange(-n//3,n//3) for i in range(n) ]

并且使用 set 当且仅当它的负值也存在时,我必须返回一个新列表.

And using a set I must return a new list if and only if its negative value also exists.

例如.如果 list = [-3,-2,-1,2,1,4]它应该返回 new_list = [2,1]

Ex. if list = [-3,-2,-1,2,1,4] it should return new_list = [2,1]

我必须使用 set 来完成这项工作,我真的迷路了.

I must do this using set, and I''m really lost.

推荐答案

如果您从使用 big_list() 创建的列表中创建 set,则可以使用它来通过遍历集合的所有元素并选择所有值大于 0 且负值也在集合中的元素来创建所需的结果列表.

If you create a set from a list created with big_list(), you can use it to create a desired result list by iterating through all the elements of the set and selecting all those whose values are > 0 and whose negative value is also in the set.

您可以使用列表显示表达式,通常称为列表推导式",用于在 [] 括号内创建带有一行长代码的结果列表,就像 big_list() 函数一样.

You can use a list display expression, commonly call a "list comprehension", to create the resultant list with one long-ish line of code inside [] brackets, like the big_list() function does.

希望这会有所帮助.

这篇关于python获取列表并仅在使用set也存在负值时才返回的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆