python学习第九次

本文介绍了Python中的数据结构,重点讲解了元组的变量交换法,探讨了集合的特征和内涵,以及字典的特性和常见操作,包括字典生成、相关函数以及如len、max、min等通用函数的应用。
摘要由CSDN通过智能技术生成

元组的函数

# in[1]
# len:获取元组长度
t=(1,2,3,6,5,4)
print(len(t))
# out[1]
6
# in[2]
# max,min最大最小值
t=(1,2,3,6,5,4)
print(max(t))
print(min(t))
# out[2]
6
1
# in[3]
# tuple 转化和创建元组
t=[1,2,3,6,5,4]
l=tuple(t)
print(l)

# out[3]
(1, 2, 3, 6, 5, 4)
# in[4]
t=(1,2,3,4,6,5,7,8,9,1)
# count 计算指定数据的个数
print(t.count(1))
# index 求指定元素在元组中的索引位置
print(t.index(2))  # 如果有多个则返回第一个值的索引位置
print(t.index(1))
# out[4]
2
1
0

元组变量交换法

# in[5]
a=12
b=16
# 两个变量交换值
a,b=b,a
print(a)
print(b)
# out[5]
16
12

集合-set

  • 一堆确定的无序的唯一的数据
# in[6]
# 集合的定义
s=set()
print(type(s))
print(s)
# out[6]
<class 'set'>
set()

集合的特征

  • 集合内数据无序,无法进行索引
  • 集合内部数据,元素唯一性
# in【7】
# 成员检测
s={1,2,3,"love","forever"}
print(type(s))
print(s)
if 1 in s:
  print("*"*30)
if "loll" not in s:
  print("//"*15)
# out [7]
<class 'set'>
{1, 2, 3, 'forever', 'love'}
******************************
//
# in[8]
# 集合的遍历操作
# for循环
s={1, 2, 3, 'forever', 'love'}
for i in s:
  print(i,end=" ")
# 带有元组的集合遍历
s={(1,2,3),("i","dss","777"),(0,8,9)}
for k,m,n in s:
  print(k,"------",m,"------",n)  
# out[8]
1 2 3 love forever

集合的内涵

#in[9]
s={1,2,3,4,5,6,7,8,9}
print(s)
# 普通的函数内涵
ss={i for i in s}
print(ss)
# 带条件的函数内涵
sss={i for i in s if i % 2==0}
print(sss)
# out[9]
{1, 2, 3, 4, 5, 6, 7, 8, 9}
{1, 2, 3, 4, 5, 6, 7, 8, 9}
{8, 2, 4, 6}
# in【10】
# add:想集合内添加元素
s={1,2,3}
s.add(789)
print(s)
# clear 原地址清楚数据
s.clear()
print(s)
# in[11]
{1, 2, 3, 789}
set()
# in[11]
# copy 拷贝
# remove 移除指定值,如果不存在报错
# discard 移除指定值,如果不存在不报错
s = {1,2,3,4,5,6,7,8,9}
s.remove(9)
print(s)
print("*"*20)
s.discard(8)
s.discard(11)
print(s)
# out[11]
{1, 2, 3, 4, 5, 6, 7, 8}
********************
{1, 2, 3, 4, 5, 6, 7}
# in[12]
# pop 随机移除一个元素
s={1,2,3,4,5,6,7,8,9}
d=s.pop()
print(d)
print(s)
#out[12]
1
{2, 3, 4, 5, 6, 7, 8, 9}
# in[13]
# intersection:交集
# difference:差集
# union:并集
# issubset:检查是否为子集
# issuperset:检查是否为超集
s={1,2,3,4,5,6}
ss={1,2,3}

s1=s.intersection(ss)
s2=s.difference(ss)
s3=s.issubset(ss)
print(s1)
print(s2)
print(s3)
# out[13]
{1, 2, 3}
{4, 5, 6}
False
# in[14]
# frozen set:冰冻集合:不能进行修改
s=frozenset()
print(type(s))
print(s)
#out[14]
<class 'frozenset'>
frozenset()

字典 dict

  • 字典是一种没有顺序的组合数据,数据以键值对形式出现
# in【15】
# 字典的创建
d = {}
print(type(d))
s=dict()
print(type(s))

# 创建有值的字典
dd={"one":1,"two":2,"three":3}
print(dd)
# out[15]
<class 'dict'>
<class 'dict'>
{'one': 1, 'two': 2, 'three': 3}

字典的特征

  • 字典每一个都由键值对组成

字典常见的操作

# in[16]
# 访问数据
d={"one":1,"two":2,"three":3}
# 中括号中为键值
print(d["one"])
# 删除
del d["one"]
print(d)
#out[16]
1
{'two': 2, 'three': 3}
# in[17]
# 成员检测
d={"one":1,"two":2,"three":3}
if 2 in d:
  print("ture1")
if "two" in d:
  print("ture2")
if ("two",2) in d:
  print("ture3")    
# out[17]
ture2
#in[18]
d={"one":1,"two":2,"three":3}
for k in d:
  print(k,d[k])
for v in d.values():
  print(v)
for k,v in d.items():
  print(k,"----",v)    
#out[18]
one 1
two 2
three 3
1
2
3
one ---- 1
two ---- 2
three ---- 3

字典的生成

# in【19】
d={"one":1,"two":2,"three":3}
# 常规的字典生成式
dd={k:v for k,v in d.items()}
print(dd)
# 加限制条件的字典生成式
ddd={k:v for k,v in d.items() if v % 2 == 0}
print(ddd)
# out[19]
{'one': 1, 'two': 2, 'three': 3}
{'two': 2}

字典相关函数

  • 通用函数: len max min dict
  • str(字典):返回字典的字符串格式
  • clear: 清空字典
  • items:返回字典的键值对组成的元组格式
  • keys:返回字典的键组成的结构
  • values:同理一个可迭代的结构
  • get:根据指定键返回的相应值,好处是,可以设置默认值

formkeys

  • 使用指定的序列作为键,使用一个值作为字典的所有的键值
#in[20]
l={"lll","uuu","kkk"}
d=dict.fromkeys(l,"hhahaha")
print(d)
# out[20]
{'lll': 'hhahaha', 'kkk': 'hhahaha', 'uuu': 'hhahaha'}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值