Questions tagged «set»

集合是不重复任何元素的集合,集合可以根据排序标准(“有序集合”)枚举其元素或不保留任何顺序(“无序集合”)。

8
HashSet和Set有什么区别?
看到像这样的代码片段 Set<Record> instances = new HashSet<Record>(); 我想知道Hashset是否是一种特殊的设置。他们之间有什么区别吗?
81 java  interface  set 

5
如何迭代和修改Java集?
假设我有一个整数集,并且我想增加集合中的每个整数。我该怎么做? 我可以在迭代时添加和删除集合中的元素吗? 在迭代原始集合时,是否需要创建一个新集合以将元素“复制并修改”到其中? 编辑:如果集合中的元素是不可变的呢?
80 java  set 

3
Python Set理解
所以我在做家庭作业时遇到了两个问题,而我在第二个问题上陷入了困境。 使用Python Set Comprehension(Python等效于Set Builder表示法)来生成所有小于100的质数的集合。回想一下,质数是一个大于1的整数,除了除本身和1.将素数集存储在变量中(其他部分将需要它)。输出您的一组素数(例如,带有打印功能)。 使用Python Set Comprehension生成一组有序对(长度为2的元组),该对对由所有小于100的素数组成的素数对组成。素数对是一对都是奇数的连续奇数对。将一组素数对存储在变量中。您的一组数字将非常有帮助。输出您的素数对集合。 对于第一个,这很完美: r= {x for x in range(2, 101) if not any(x % y == 0 for y in range(2, x))} 但是,我很困惑第二个。我认为我可能必须将set r的笛卡尔积乘以某种东西,但是我不确定。 这使我有点接近,但我只想要连续的对。 cart = { (x, y) for x in r for y in r if x < y }

3
python set操作的时间复杂度?
Big O表示法中每个python设置操作的时间复杂度是多少? 我正在将Python的set类型用于对大量项目的操作。我想知道每个操作的性能如何受到集合大小的影响。例如,添加,并测试成员资格: myset = set() myset.add('foo') 'foo' in myset 谷歌搜索并没有占用任何资源,但是合理地考虑了Python的set实现的时间复杂性是合理的。 如果它存在,到一些链接像这将是巨大的。如果那里没有这样的东西,那么也许我们可以解决吗? 用于查找所有设置操作的时间复杂度的额外标记。

4
减少数组在Swift中设置
我正在尝试将对象数组简化为Swift中的集合,这是我的代码: objects.reduce(Set<String>()) { $0.insert($1.URL) } 但是,我得到一个错误: Type of expression is ambiguous without more context. 我不明白问题是什么,因为URL的类型肯定是String。有任何想法吗?
78 arrays  swift  set  reduce 

6
如何从python中的单成员集中提取成员?
我最近遇到了一个场景,如果一个集合只包含一个元素,我想对该元素做些事情。为了获得元素,我决定采用以下方法: element = list(myset)[0] 但这不是很令人满意,因为它创建了不必要的列表。也可以通过迭代来完成,但是迭代似乎也不自然,因为只有一个元素。我是否缺少简单的东西?
77 python  set 


8
将Set <String>的内容放到单个字符串中且单词之间用空格隔开的最快方法?
我有几个Set&lt;String&gt;s,并且想要将它们中的每一个转换成单个String,其中原始元素的每个元素Set都由空格“”分隔。天真的第一方法就是这样做 Set&lt;String&gt; set_1; Set&lt;String&gt; set_2; StringBuilder builder = new StringBuilder(); for (String str : set_1) { builder.append(str).append(" "); } this.string_1 = builder.toString(); builder = new StringBuilder(); for (String str : set_2) { builder.append(str).append(" "); } this.string_2 = builder.toString(); 谁能想到更快,更漂亮或更有效的方式来做到这一点?

5
Python从集合中删除集合
根据我对内置类型5.7集类型的Python 2.7.2文档的解释,应该可以通过将A传递给set.remove(elem)或从集B中删除集A的元素来实现。set.discard(elem) 从2.7.2的文档中: 请注意__contains__(),remove()和discard() 方法可能是一组。 我将其解释为意味着我可以将传递set给remove(elem)或discard(elem),所有这些元素将从目标集中删除。我会用它来做一些奇怪的事情,例如从字符串中删除所有元音或从词频直方图中删除所有常用词。这是测试代码: Python 2.7.2 (default, Jun 12 2011, 14:24:46) [M... Type "help", "copyright", "credits" or "license" &gt;&gt;&gt; a = set(range(10)) &gt;&gt;&gt; b = set(range(5,10)) &gt;&gt;&gt; a set([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]) &gt;&gt;&gt; b set([8, 9, 5, 6, 7]) &gt;&gt;&gt; a.remove(b) Traceback …
75 python  set 

4
为什么有时可以用{}替换set()?
在PyCharm中,当我写时: return set([(sy + ady, sx + adx)]) 它说“函数调用可以用设置文字代替”,因此将其替换为: return {(sy + ady, sx + adx)} 这是为什么?set()Python中的A与字典不同{}吗? 如果要优化它,为什么它更有效?
73 python  set 

9
在python的set操作中添加vs更新
如果我只想向集合中添加单个值,则python中的添加和更新操作之间有什么区别? a = set() a.update([1]) #works a.add(1) #works a.update([1,2])#works a.add([1,2])#fails 有人可以解释为什么会这样。
71 python  set 

7
C ++ std :: set更新很乏味:我无法就地更改元素
我发现std::set乏味的更新操作是因为cppreference上没有这样的API 。所以我目前正在做的事情是这样的: //find element in set by iterator Element copy = *iterator; ... // update member value on copy, varies Set.erase(iterator); Set.insert(copy); 基本上,迭代器return bySet是a const_iterator,您不能直接更改其值。 有一个更好的方法吗?或者,也许我应该std::set通过创建自己的方法来覆盖(我不知道它是如何工作的。)
71 c++  stl  set 

3
设定成员的TTL
在Redis中是否可以不为特定密钥设置TTL(生存时间),而是为一组成员设置TTL? 我正在使用Redis文档提出的标签结构-数据是简单的键/值对,并且标签是包含对应于每个标签的键的集合,例如 &gt; SETEX id:id_1 100 'Lorem ipsum' OK &gt; SADD tag:tag_1 id:id_1 (integer) 1 密钥id:id_1将按预期到期,但我看不到从tag:tag_1集中删除相应成员的有效方法。 我出现的一种方法是使用包含脚本的cron作业,该脚本将定期从集合中删除过期的密钥-通过将所有标签名称添加到另一个集中,然后遍历所有标签,然后遍历与每个标签对应的所有id并检查是否存在相应的密钥-如果不存在,则调用SREM。 我认为这不是一种有效的方法,我可能希望保持标签尽可能整洁,因为集合的大小可能会影响多个标签(SINTER)的搜索性能。还有更“内部”的方式吗?
71 redis  set  tagging  ttl 

3
从Java集获取* any *值的好方法?
给定一个简单的Set&lt;T&gt;方法,从中获取任何值的好方法(快速,几行代码)是Set什么? 使用List,很容易: List&lt;T&gt; things = ...; return things.get(0); 但是,对于Set,没有.get(...)方法,因为Sets没有排序。
71 java  set  any 

1
清空/删除Redis中的集合?
也许我只是盲目的,但我没有在Redis中看到用于清空现有集合(而不清空整个数据库)的显式set命令。目前,我正在对场景本身进行设置差异并将其存储回自己: redis&gt; SMEMBERS metasyn 1) "foo" 2) "bar" redis&gt; SDIFFSTORE metasyn metasyn metasyn (integer) 0 redis&gt; SMEMBERS metasyn (empty list or set) 但这看起来有点愚蠢……有更好的方法吗?
70 set  redis 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.