我尝试创建一个新集合,它找到两个集合之间的共同元素,并使用for和if减去它们,而不使用不同的集合方法
我本来打算比较第一个集合和第二个集合中的所有元素,通过打开两个不同的for循环并使用if命令,找到常见的元素并使用remove命令删除它们,但是我让列表索引超出了范围。误差
我的代码如下作为初学者,我对编码了解不多。我写这段代码是为了练习
my_set = {1,2,3,4,5}
your_set = {4,5,6,7,8,9,10}
my_list = list(my_set)
your_list = list(your_set)
for i in range(len(my_list)):
for j in range(len(your_list)):
if (my_list[i] == your_list[j]):
my_list.remove(my_list[i])
my_set2 = set(my_list)
print(my_set2)
如果您想从my_set
中删除my_set
和your_set
中的常见项,
my_set = {1, 2, 3, 4, 5}
your_set = {4, 5, 6, 7, 8, 9, 10}
new_set = my_set.difference(your_set.intersection(my_set))
print(new_set)
print(my_set)
# {1, 2, 3}
# {1, 2, 3, 4, 5}
如果您希望从your_set
中删除差异,
your_new_set = your_set.difference(your_set.intersection(my_set))
你也可以使用if
和for
来做,就像在你的原始代码中,
result = [] # Initialize an empty list to store the result
# Iterate through each element in my_set
for i in my_set:
# Check if the current element is not in your_set
if i not in your_set:
# If it is not, append it to the result list
result.append(i)
# if you want output in set, convert the list back to set
result = set(result)
# Print the final result
print(result)