python基础(九):集合、数据类型分类与总结

一、集合

集合的应用场景:关系运算、去重

1、定义集合

集合:可以包含多个元素,用逗号分隔
集合的元素遵循三个原则:

  • 每个元素必须是不可变类型(可hash,可作为字典的key)
  • 没有重复的元素
  • 无序

注意:集合的目的是将不同的值存放到一起,不同的集合间用来做关系运算,无需纠结于集合中单个值

2、创建集合

a = {1,2,3} #字典和集合都采用花括号表示,若有kv则为字典,否则为集合
#创建空集合:
a = {} #这句话默认创建空字典
a = set(a) #强转为集合
print(a)

#一般来说创建空集合都这样创建:
a = set()

3、优先掌握的操作

#基本属性
#1、长度len
#2、成员运算in和not in

#关系运算
#3、|合集
#4、&交集
#5、-差集
#6、^对称差集 两个集合各自独有部分的并集
#7、==
#8、父集:>,>= 
#9、子集:<,<=

4、去重

(1)不可变类型去重

去重,无需保持原来的顺序:

l=['a','b',1,'a','a']
print(set(l)) #因为集合中不允许有重复的元素,所以直接变成集合即可去重。

去重需要保持原来的顺序:

l=[1,'a','b',1,'a']

#方法一:不用集合
l1=[]
for i in l:
    if i not in l1:
        l1.append(i)
print(l1)

#方法二:借助集合
l1=[]
s=set()
for i in l:
    if i not in s: #不在s中的元素(去重)就追加到l1中去(保证顺序)
        s.add(i)
        l1.append(i)
print(l1)
(2)可变类型的去重
l=[
    {'name':'egon','age':18,'sex':'male'},
    {'name':'alex','age':73,'sex':'male'},
    {'name':'egon','age':20,'sex':'female'},
    {'name':'egon','age':18,'sex':'male'},
    {'name':'egon','age':18,'sex':'male'},
]

对上述可变类型去重,且顺序不变。

new_l=[]
for dic in l:
	if dic not in new_l:
		new_l.append(dic)
print(new_l)

二、数据类型分类与总结

1、按存值个数区分

只能存一个值(原子类型) 数字、字符串
可以存放多个值(容器类型) 列表、元组、字典

2、按照访问方式区分

直接访问:只能通过变量名访问整个值 数字类型
顺序访问:可以用索引访问整个值,索引代表顺序,又称序列 字符串、列表、元组
key访问:可以用key访问指定的值,又称映射类型 字典

3、按可变与不可变区分

可变类型 列表、字典
不可变类型 数字、字符串、元组

猜你喜欢

转载自blog.csdn.net/weixin_44571270/article/details/105870204