首页 > 其他分享 >组合数据类型

组合数据类型

时间:2022-12-21 14:34:33浏览次数:35  
标签:删除 组合 元素 数据类型 dic 集合 print 字典

集合

集合创建

集合的特点:(1)互异性 (2)无序性 (3)确定性。创建空集合只能用set()  ,用{}创建的是一个空字典。集合本身是可变类型,但要求放入集合中的元素是不可变类型。​

# 使用{}直接创建集合
s1 = {1,2,3,'a','b','c'}
print(type(s1))
print(s1)
s2 = {1,2,(4,5)}
#集合本身是可变类型,但要求放入集合中的元素是不可变类型
print(s2)
# s3 = {1,2,[4,5]}
#集合本身是可变类型,但要求放入集合中的元素是不可变类型 会报错,因为[]列表是可变类型

#<class 'set'>
#{'c', 1, 2, 3, 'a', 'b'}
#{(4, 5), 1, 2}

​#判断元素是否在集合中  in  / not  in 

a=set(range(1,10,2))
print(a)
print(7 in a)
print(2 in a)

#{1, 3, 5, 7, 9}
#True
#False

集合的常见操作

len()求集合的长度

copy()集合的复制

add(x)向集合中添加一个元素x,x已存在时不做处理

update(  )向集合中添加多个元素,添加多个元素可以是可迭代类型

remove(x)删除集合中的指定元素x,若x不存在会报错

discard(x)删除集合中的指定元素x,若x不存在不会报错,不做任何处理

pop() 随机返回该元素,并删除集合中的该元素,若集合为空,则报错

clear()删除集合中的所有元素,清空集合

isdisjoint(T) 判断集合与集合T是否有相同元素,没有返回True,有返回False

#(1)求集合的长度 len()
x = {1,2,3,'a','b','c'}
print("集合的长度为:",len(x))
#(2)集合的复制
y = x.copy()
print(y)
#(3)add(x)向集合中添加一个元素x,x已存在时不做处理
x.add('p')
print("向集合x中添加元素p后:",x)
#(4)update( )向集合中添加多个元素,添加多个元素可以是可迭代类型
x.update({'y','t'})
print("向集合x中添加元素y,t后:",x)
x.update([4,6])
print("向集合x中添加元素4,6后:",x)
x.update(range(10,12))
print("向集合x中添加元素10,11后:",x)
#(5)remove(x)删除集合中的指定元素x,若x不存在会报错
x.remove(11)
print("删除集合x中的元素11",x)
#x.remove(13) 删除不存在元素会报错
#(6)discard(x)删除集合中的指定元素x,若x不存在不会报错,不做任何处理
x.discard(13)
#(7)pop() 随机返回该元素,并删除集合中的该元素,若集合为空,则报错
x.pop()
print("随机删除集合x中的一个元素后:",x)
#(8)clear()删除集合中的所有元素,清空集合
y.clear()
print(y)
#(9) isdisjoint(T) 判断集合与集合T是否有相同元素,没有返回True,有返回False
z = {1,2,'d','f'}
print(x.isdisjoint(z))


# 集合的长度为: 6
# {1, 2, 3, 'a', 'b', 'c'}
# 向集合x中添加元素p后: {'c', 1, 2, 3, 'p', 'a', 'b'}
# 向集合x中添加元素y,t后: {'c', 1, 2, 3, 'p', 't', 'y', 'a', 'b'}
# 向集合x中添加元素4,6后: {'c', 1, 2, 3, 4, 6, 'p', 't', 'y', 'a', 'b'}
# 向集合x中添加元素10,11后: {'c', 1, 2, 3, 4, 6, 'p', 10, 11, 't', 'y', 'a', 'b'}
# 删除集合x中的元素11 {'c', 1, 2, 3, 4, 6, 'p', 10, 't', 'y', 'a', 'b'}
# 随机删除集合x中的一个元素后: {1, 2, 3, 4, 6, 'p', 10, 't', 'y', 'a', 'b'}
# set()
# False

集合可用 + - & | ^ 求相关运算

字典

字典的创建

字典的特点:

每个对象是一个键值对{键:值}{key:value}

键一般情况下是字符串,也可以是数字、元组等不可变的数据类型

值可以是任意数据类型

#使用{}构建字典
d0= {}
print(type(d0))
d1 = {'A': 123, 12: 'python'}
print(type(d1),d1)
#使用dict()函数构建字典
d2 = dict({'A': '123', 'B': '135'})
print(type(d2),d2)

# <class 'dict'>
# <class 'dict'> {'A': 123, 12: 'python'}
# <class 'dict'> {'A': '123', 'B': '135'}

字典的访问

通过get() 方法根据键获取对应的值,如果指定的键不存在,返回default

通过keys()方法获取所有键

通过values()方法获取所有值

通过items()方法获取所有元素

keys()  values()  items() 方法获取到的都是可迭代的对象

d1 = {'A': 123, 12: 'python'}
d2 = dict({'A': '123', 'B': '135'})
#(1)通过get() 方法根据键获取对应的值,如果指定的键不存在,返回default
print(d2.get('B'))
print(d1.get('A'))
#(2)通过keys()方法获取所有键
print(d1.keys())
#(3)通过values()方法获取所有值
print(d2.keys())
#(4)通过items()方法获取所有元素
print(d2.items())
# keys() values() items() 方法获取到的都是可迭代的对象
for i in d2.items():
print(i)
for j in d2.keys():
print(j)
for k in d2.values():
print(k)



123
python
135
123
dict_keys(['A', 12])
dict_keys(['A', 'B'])
dict_items([('A', '123'), ('B', '135')])
('A', '123')
('B', '135')
A
B
123
135

字典的添加和修改

#(1) 利用键索引,访问字典的值并修改
dic = {"name":"Tom","sex":"male","age":18}
dic["name"]="Tim"
print(dic)
#(2) 利用update()方法修改元素
dic.update(age=20)
print(dic)
#(3) 利用 字典变量[键]=值 的方式为字典新添一个元素
dic["score"]=89
print(dic)
#(4) 利用update()方法为字典添加元素
dic.update(height =175 )
print(dic)


{'name': 'Tim', 'sex': 'male', 'age': 18}
{'name': 'Tim', 'sex': 'male', 'age': 20}
{'name': 'Tim', 'sex': 'male', 'age': 20, 'score': 89}
{'name': 'Tim', 'sex': 'male', 'age': 20, 'score': 89, 'height': 175}

字典的常用方法

copy()字典的复制

pop()根据指定键删除字典中指定元素,删除成功,则该方法返回目标元素的值

popitem() 随机删除字典中的元素,若删除成功,则该方法返回被删除的元素  默认从字典末尾开始删除

clear()用于清除字典中元素

# (1)计算字典的长度
print("字典dic的长度为:",len(dic))
#(2)copy()字典的复制
dic0 = dic.copy()
print(dic0)
#(3) pop()根据指定键删除字典中指定元素,删除成功,则该方法返回目标元素的值
dic.pop("score")
print(dic)
#(4)popitem() 随机删除字典中的元素,若删除成功,则该方法返回被删除的元素 默认从字典末尾开始删除
dic0.popitem()
print(dic0)
#(5)clear()用于清除字典中元素
dic0.clear()
print(dic0)
# (1)计算字典的长度
print("字典dic的长度为:",len(dic))
#(2)copy()字典的复制
dic0 = dic.copy()
print(dic0)
#(3) pop()根据指定键删除字典中指定元素,删除成功,则该方法返回目标元素的值
dic.pop("score")
print(dic)
#(4)popitem() 随机删除字典中的元素,若删除成功,则该方法返回被删除的元素 默认从字典末尾开始删除
dic0.popitem()
print(dic0)
#(5)clear()用于清除字典中元素
dic0.clear()
print(dic0)



字典dic的长度为: 5
{'name': 'Tim', 'sex': 'male', 'age': 20, 'score': 89, 'height': 175}
{'name': 'Tim', 'sex': 'male', 'age': 20, 'height': 175}
{'name': 'Tim', 'sex': 'male', 'age': 20, 'score': 89}
{}


标签:删除,组合,元素,数据类型,dic,集合,print,字典
From: https://blog.51cto.com/u_15325450/5959916

相关文章

  • 组合数前缀和
    众所周知有经典问题:\(T\)组询问\(\sum_{i=0}^m\binom{n}{i}\)。听说戴老师一年多前就有个\(n\log^2n\)的做法,感觉很厉害,但是搜不到做法,也想尝试自己推推。今天受到......
  • json提取器和beanshell处理器组合,将提取的所有id以数组返回
    1.添加json提取器2.添加beanshell处理器,并编写脚本Stringstr1=vars.get("buildid_ALL");log.info(str1);Listlist=Arrays.asList(str1.split(","));log.info(......
  • 正则提取器和beanshell处理器组合,将提取的所有id拼接成字符串
    1.添加正则表达式,提取所有id值2.添加beanshell处理器将所有的id值拼接成字符串方法一:intN=Integer.parseInt(vars.get("build_matchNr"));log.info(N.toString())......
  • 第02期:MySQL 数据类型的艺术-大对象字段
    我以前分享过一篇​​《MySQL大对象一例》​​,今天就来详细说下大对象的优缺点以及使用场景。我们把MySQL的大对象类型分TEXT/BLOB和JSON两部分来说明。 一、TEX......
  • C语言各数据类型所占字节数
      编写C程序时需要考虑每种数据类型在内存中所占的内存大小,即使同一种数据类型在不同平台下所占内存大小亦不相同。为了得到某个类型在特定平台上的准确大写,可以使用s......
  • java常用的数据类型有哪些
    前言在上一篇文章中,壹哥给大家讲解了Java中变量的定义、使用及基本原理等内容,这个内容并不是很难,但却是我们走向Java大神的第一步!壹哥希望你从第一天就要认真对待哦。在......
  • 组合杂题选讲 #7
    题目描述题意:每次抽卡时会从\(n\)种卡里随机获得一种,那么期望上抽到全部\(n\)种卡需要抽多少次?提示:随机试验中某个变量的数学期望(简称“期望”)是指该变量所有可能的......
  • 数据类型拓展
    数据类型拓展整数拓展publicstaticvoidmain(String[]args){    //整数拓展:进制 二进制0b十进制八进制0十六进制0x    inti=10; ......
  • MySQL系列之表和数据类型
    MySQL之表和数据类型一.查看数据库版本selectversion();二.数据库操作2.1.创建数据库createdatabaseifnotexiststest_dbdefaultcharsetutf8collateutf8_gener......
  • C++数学与算法系列之排列和组合
    1.前言本文将聊聊排列和组合,排列组合是组合学最基本的概念,在程序运用中也至关重要。排列问题:指从给定个数的元素中取出指定个数的元素进行排序。组合问题:指从给定个......