【发布时间】:2019-11-12 11:31:42
【问题描述】:
我想将 'y' 值放在集合 {'e', 'y', 'u'} 的末尾。
我已尝试删除该值,然后在末尾重新添加:
last_vowels = 'y'
vowels = {'e', 'y', 'u'}
vowels.remove(last_vowels)
vowels.add(last_vowels)
print(vowels)
我也尝试将其转换为列表,然后在末尾附加'y',然后将其转换回“set”类型。
vowels.remove(last_vowels)
vowels_list = list(vowels)
vowels_list.append(last_vowels)
vowels = set(vowels_list)
print(vowels)
从我读到的“set”类型没有索引。
所以我想知道是否有办法重新排列“集合”?
【问题讨论】:
-
如果您查看sets 的文档,明确指出集合是独特元素的无序集合
-
如果你有所有的元音并想保持一个顺序,你可以查看frozenset。注意,frozensets 是不可变的,所以
addremove不可用。 -
从这个答案:stackoverflow.com/questions/1867861/…,我知道可以操纵
dictionary的顺序(按照您最初创建它的顺序)。所以也许你可以使用字典的键作为你想要的set(并给出一些任意值)。 -
@Gооd_Mаn 对不起,我将frozensets 和 SortedSets 混为一谈。我会写一个答案。
-
因为我不能再写答案了,你可以看看这个:
SortedSet。为了保持顺序,您可以在列表中执行排序,并在创建SortedSet时将list.index作为key。
标签: python python-3.x python-2.7