基础数据类型汇总与集合

学习来源:老男孩-太白金星

基础数据类型

可哈希:int , str , tulpe , bool
不可哈希: list , dict , set
list :有序的,有索引,可切片。
dict : 无序的 key通过哈希运算决定value储存位置。
set : 无序的 不可重复的数据 。里面的元素是可哈希的。

注意事项
(字典列表在循环体中进行删除时,索引会发生改变,容易报错)
lis = [11,22,33,44,55]
for i in range(len(lis)):
    print(i)       # i = 0              i = 1           i = 2
    del lis[i]
    print(lis)  # [11,22,33,44,55]   [22, 44, 55]     [22, 44]

dic = {'k1':'v1','k2':'v2','a3':'v3'}
dic1 = {}

for i in dic:
    if 'k' not in i:
        dic1.setdefault(i,dic[i])
dic = dic1
print(dic)

l = []
for i in dic:
    if 'k' in i:
        l.append(i)
for i in l:
    del dic[i]
print(dic)

# 转化成bool值———> false
0 ''  [] () {} set()
print(bool(""))

# 元祖  如果元祖里面只有一个元素且不加,那此元素是什么类型,就是什么类型。
tu1 = (1)
tu2 = (1,)
print(tu1,type(tu1))
print(tu2,type(tu2))
tu1 = ([1])
tu2 = ([1],)
print(tu1,type(tu1))
print(tu2,type(tu2))
dic = dict.fromkeys([1,2,3,],3)
dic[1] = 4
print(dic)
集合
set1 = set({1,2,3})
set2 = {1,2,3,[2,3],{'name':'alex'}}  # 错的
print(set1)
print(set2)
set1 = {'alex','wusir','ritian','egon','barry',}
增
add
set1.add('女神')
print(set1)
update
set1.update('abc')
print(set1)
删除

set1.pop()  # 随机删除
print(set1.pop())  # 有返回值
print(set1)

set1.remove('alex')  # 按元素
print(set1)

{} set()
set1.clear()
print(set1)  # set()

del set1
print(set1)for i in set1:
    print(i)

set1 = {1,2,3,4,5}
set2 = {4,5,6,7,8}
set3 = set1 & set2
print(set3)  # {4, 5}
print(set1.intersection(set2))  # {4, 5}

set1 = {1,2,3,4,5}
set2 = {4,5,6,7,8}
print(set1 | set2)  # {1, 2, 3, 4, 5, 6, 7,8}
print(set2.union(set1))  # {1, 2, 3, 4, 5, 6, 7}

set1 = {1,2,3,4,5}
set2 = {4,5,6,7,8}
print(set1 ^ set2)  # {1, 2, 3, 6, 7, 8}
print(set1.symmetric_difference(set2))  # {1, 2, 3, 6, 7, 8}

set1 = {1,2,3,4,5}
set2 = {4,5,6,7,8}
print(set1 - set2)  # {1, 2, 3}
#set1独有的
print(set1.difference(set2))  # {1, 2, 3}

set1 = {1,2,3,}
set2 = {1,2,3,4,5,6}

print(set1 < set2)
print(set1.issubset(set2))  # 这两个相同,都是说明set1是set2子集。

print(set2 > set1)
print(set2.issuperset(set1))  # 这两个相同,都是说明set2是set1超集。


去重
li = [1,2,33,33,2,1,4,5,6,6]
set1 = set(li)
# print(set1)
li = list(set1)
print(li)
s1 = {1,2,3}
print(s1,type(s1))

s = frozenset('barry')
print(s,type(s))
for i in s:
    print(i)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值