python_集合

一、集合特点:

1、集合是无序的

2、集合天生去重

3、集合无下标

二、集合的操作

s=set() #定义空集合

s.add(1) #集合添加元素

print(s)

s.remove(1) #集合删除元素

print(s)

/Library/Frameworks/Python.framework/Versions/3.7/bin/python3.7 /Users/dongyf/Documents/python/besttest_study/test.py
{1}
set()

三、集合的交集,并集,差集,对称差集

x=[1,2,3,4]
y=[1,6,7,2]

z=set(x)
t=set(y)

print(z.intersection(t)) #取交集
print(z&t)

print(z.difference(t)) #取差集 在a(方法前的)集合里面有,在b集合里面没有的
print(z-t)

print(z.union(t)) #取并集 把2个集合加在一起,重复的去重
print(z|t)

print(z.symmetric_difference(t)) #对称差集  把2个集合加在一起,重复的去重
print(z^t)

/Library/Frameworks/Python.framework/Versions/3.7/bin/python3.7 /Users/dongyf/Documents/python/besttest_study/test.py
{1, 2}
{1, 2}
{3, 4}
{3, 4}
{1, 2, 3, 4, 6, 7}
{1, 2, 3, 4, 6, 7}
{3, 4, 6, 7}
{3, 4, 6, 7}

原文地址:https://www.cnblogs.com/xiaokuangnvhai/p/11000721.html

时间: 2024-10-22 14:10:16

python_集合的相关文章

python_集合_笔记

集合 特性: a.确定性(元素必须可以hash) b.互异性(去重) c.无序性(集合中的元素没有先后之分) 集合关系测试 交集 & jihe1.intersection(jihe2) 差集 - jihe1.difference(jihe2) 并集 | jihe1.union(jihe2) 对称差集 ^ jihe1.symmetric_difference(jihe2) 包含关系 in:判断某元素是否在集合内 not in:==,!=,:判断两个集合是否相等 相交 set1.isdisjoint

python_集合 list_5

>>> import random>>> import time>>> x=list(range(10000))>>> y=set(range(10000))>>> z=dict(zip(range(1000),range(10000)))>>> r=random.randint(0,9999)>>> >>> start = time.time()>>

Python_重写集合

class Set(object): def __init__(self,data=None): if data == None: self.__data = [] else: if not hasattr(data,'__iter__'): #提供的数据不可以迭代,实例化失败 raise Exception('必须提供可迭代的数据类型') temp = [] for item in data: #集合中的元素必须是可哈希 hash(item) if not item in temp: temp

【4】python_基础_集合、json模块、函数

1 集合(天生去重) 1.1 定义集合 集合是无序的 1 # 定义集合:天生去重 2 nums = [1,1,2,3,4,4] 3 num_set = set (nums) # 1.使用set将其他类型转成集合(去重) 4 print('1======',num_set) # {1, 2, 3, 4} 5 6 nums2 = {1,1,2,3,4,4} # 2.直接定义集合 7 print ('2======',nums2) # {1, 2, 3, 4} 8 9 nums3 = set() #

数组、字符串、集合

数组与集合的转换.数组与字符串的转换 ========数组变集合 String[] arr = {"abc","cc","kkkk"}; //把数组变成list集合有什么好处? /* 可以使用集合的思想和方法来操作数组中的元素. 注意:将数组变成集合,不可以使用集合的增删方法. 因为数组的长度是固定. contains. get indexOf() subList(); 如果你增删.那么会产生UnsupportedOperationExcepti

C#语言中数组和集合

数组.集合→用于储存多个同类型的数据数组 定长→用于保存固定数量的数据 在功能上,数组能实现的所有功能,集合都能实现:反之,集合能实现的某些功能,数组难以实现 占用内存少 便利速度快集合 不定长→保存的数据数量,可以在程序的执行过程中,发生变化 占用内存多 便利速度慢课时六:数组和集合 数组.集合→用于储存多个同类型的数据 数组 定长→用于保存固定数量的数据 在功能上,数组能实现的所有功能,集合都能实现:反之,集合能实现的某些功能,数组难以实现 占用内存少 便利速度快 集合 不定长→保存的数据数

通过反射了解集合泛型的本质

通过反射了解集合泛型的本质 import java.lang.reflect.Method; import java.util.ArrayList; /** * 通过反射了解集合泛型的本质 * @author shm * */ public class MethodDemo02 { public static void main(String[] args) { ArrayList list = new ArrayList(); list.add("hello"); list.add(

Java 之集合

collection(单列集合) List(有序,可重复) ArrayList     底层数据结构是数组,查询快,增删慢,线程不安全,效率高 Vector     底层数据结构是数组,查询快,增删慢,线程安全,效率低 LinkedList  底层数据结构是链表,查询慢,增删快,线程不安全,效率高 Set(无序,唯一) HashSet   底层数据结构是哈希表,依赖hashCode()和equals() 执行顺序:判断hashCode()是否相同,相同继续执行equals(),返回true不添加

集合和三元运算符

一.三元运算符 如下判断可以使用三元运算更方便的实现: a = 1b = 2 if a > 1: c = aelse: c = b 和下面是一样的: a = 1b = 2#下面这个c = a if a>1 else b 如下两种方法也是一样的:方式一: s=[]nums = list(range(1,11))for i in nums: if i%2==0: s.append(i)print(s)方式二:ss = [i for i in nums if i%2==0]print(ss)#这两种