Python02.4.数据类型-元组-字典-集合

  • 元组

#定义:与列表类型比,只不过[]换成()

age=(11,22,33,44,55)本质 age=tuple((11,22,33,44,55))

#作用:存多个值,对比列表来说,元组不可变(是可以当做字典的key的),主要是用来读

  • Index()

print(t.index('b'))

#索引出元素第一次出现的位置,还可以指定在某一范围里查找,这里默认在整个元组里查找输出1

  • Count()

print(t.count('b'))   #计算元素出现的次数,这里输出2

  • Len()

print(len(t))      #输出远组的长度,这里输出4

  • For循环

for i in t:

print(i)

#循环打印出元组数据

  • 切片

print(t[1:3])       #切片 输出('b','b')

  • 字典

#作用:存多个值,key-value存取,取值速度快

#定义:key必须是不可变类型,value可以是任意类型

info={'name':'egon','age':18,'sex':'male'} #本质info=dict({....})

info=dict(name='egon',age=18,sex='male')

info=dict([['name','egon'],('age',18)])

{}.fromkeys(('name','age','sex'),None)

  • Get() 获取values
  • 如果存在key值,则返回, 不存在可以指定返回内容, 不指定返回内容为None

d = {'Michael': 95, 'Bob': 75, 'Tracy': 85}

d.get('Bob')

#根据key获取values,如果不存在返回None,这里输出75

  • Pop() 删除一个key

d.pop('Bob')

#根据键删除某一元素 d={'Michael': 95, 'Tracy': 85}

  • 添加一个元素

d['Jason']=99

#新增元素 d={'Michael': 95, 'Tracy': 85, 'Jason': 99}

  • Len()

print(len(d))

#输出字典长度,这里输出3

  • In 判断是否存在

print('Jason' in d)

#python3 中移除了 has_key,要判断键是否存在用in

  • For循环

for i in d:

#循环默认keys输出

print(i)

=========================================

for i in d.values():

#循环按值输出values

    print(i)

=========================================

for k,v in d.items():

#循环按输出key,values

print(k,v)

=========================================

  • 字典的独有功能

'''1. 获取字典中所有的键'''

print(userinfo.keys())

======================================================

# for item in userinfo.keys():

# print(item)

'''2. 获取字典中所有的值'''

userinfo.values()

======================================================

# for i in userinfo.values():

# print(i)

======================================================

'''3. 获取字典中所有的键值对'''

userinfo.items()

# print(userinfo)

======================================================

# for v1,v2 in userinfo.items():

# print(v1,v2)

  • Update

userinfo.update({'zhan','san'})

# 存在则更新, 不存在则添加

  • 公共

len('username') # len

u = userinfo['pass'] # 索引

userinfo['pass'] = 124 # 修改

del userinfo['pass'] # 删除键值对

userinfo['pass'] = 156 # 字典里,如果存在则修改,不存在则添加

  • 例题

'''

mess = 'k1|v1,k2|v2,k3|v3'

转换成字典info

info = {k1:v1,k2:v2,k3:v3}

'''

# info = {}

# # mess = 'k1|v1,k2|v2,k3|v3'

# # for item in mess.split(','):

# # v1,v2 = item.split('|')

# # info[v1]=v2

# # print(info)

======================================================

# dict

# 默认按照键判断, 判断x是否是字典的键

v1 = {'k1':1,'k2':2,'k3':3}

if 'x' in v1: # keys

pass

======================================================

# 判断k1是否在其中

if 'k1' in v1:

pass

======================================================

# 判断v2是否在其中

# 1.

fla = '不存在'

for cc in v1.values(): # values

if cc == 'v2':

fla = '存在'

print(fla)

======================================================

# 2.

if 'v2' in list(v1.values()):

pass

======================================================

# 3.

if 'v2' in v1.values():

print('1')

else:

print('2')

======================================================

# 判断k2:v2 是否在其中

vl = v1.get('k2')

if v1 == 'v2':

pass

else:

pass

  • 集合

#作用:去重,关系运算,

#定义:

知识点回顾

可变类型是不可hash类型

不可变类型是可hash类型

#定义集合:

集合:可以包含多个元素,用逗号分割,

集合的元素遵循三个原则:

1:每个元素必须是不可变类型(可hash,可作为字典的key)

2: 没有重复的元素

3:无序

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

  • Add() 添加元素

a = {'nick','jenny','suo'}

a.add('The knife girl')

print(a)

  • Update更新列表

a = {'nick','jenny','suo'}

b = {'nick','jenny','The knife girl'}

a.update(b)

print(a)

  • Clear #清空

#清空

a = {'nick','jenny','suo'}

a.clear()

print(a)

  • Discard 删除指定的元素

#移除指定元素,不存在不报错

a = {'nick','jenny','suo'}

a.discard('suo')

print(a)

  • remove

#移除指定元素,不存在则报错

a = {'nick','jenny','suo'}

a.remove('suo')

print(a)

a.remove('suo')

print(a)

  • pop

#移除随机元素,并赋给新值

a = {'nick','jenny','suo'}

set = a.pop()

print(set)

 

  • #a中存在。b中不存在,赋给新值

a = {'nick','jenny','suo'}

b = {'nick','jenny','The knife girl'}

set = a.difference(b)

print(set)

=========================================

  • a中存在。b中不存在,并更新a

a = {'nick','jenny','suo'}

b = {'nick','jenny','The knife girl'}

a.difference_update(b)

print(a)

=========================================

  • 交集,赋给新值

a = {'nick','jenny','suo'}

b = {'nick','jenny','The knife girl'}

set = a.intersection(b)

print(set)

=========================================

  • #交集,更新a

a = {'nick','jenny','suo'}

b = {'nick','jenny','The knife girl'}

a.intersection_update(b)

print(a)

=========================================

  • #对称交集

a = {'nick','jenny','suo'}

b = {'nick','jenny','The knife girl'}

set = a.symmetric_difference(b)

print(set)

=========================================

  • #对称交集,更新a

a = {'nick','jenny','suo'}

b = {'nick','jenny','The knife girl'}

a.symmetric_difference_update(b)

print(a)

=========================================

  • #并集,赋给新值

a = {'nick','jenny','suo'}

b = {'nick','jenny','The knife girl'}

set = a.union(b)

print(set)

=========================================

  • #如果没有交集,返回True,否则返回False

a = {'nick','jenny','suo'}

b = {'nick','jenny','The knife girl'}

set = a.isdisjoint(b)

print(set)

=========================================

  • #是否是子序列

a = {'nick','jenny','suo'}

b = {'nick','jenny'}

set = a.issubset(b)

print(set)

=========================================

  • #是否是父序列

a = {'nick','jenny','suo'}

b = {'nick','jenny'}

set = a.issuperset(b)

print(set)

=========================================

猜你喜欢

转载自www.cnblogs.com/cable-run/p/12161405.html