python 数据类型元组与字典内置方法

1、元组

(1)元组是不可变的列表,能存多个值;如果多个值只有取得需求,没有改的需求,用元组最合理

(2)定义:在()内用逗号隔开,可以存任意类型的值

注意:当元组只有一个元素时,要在后面加逗号

# x=('egon',)
# print(type(x))

(3)、常用操作+ 内置方法
1、按索引取值,正向+反向取值
2、切片(顾头不顾尾,步长)
# names=('alex','egon','wxx','lxx','cxxx')
# print(names[1:3]

3、长度
names=('alex','egon','wxx','lxx','cxxx')
# print(len(names))

4、成员运算in和not in
# names=('alex','egon','wxx','lxx','cxxx')
# print('alex' in names)

5、循环
# names=('alex','egon','wxx','lxx','cxxx')
# for item in names:
# print(item)

6、基本方法
 
names=('alex','egon','wxx','lxx','cxxx','lxx')
# del names[0] 删除

# print(names.count('lxx')) 查某个元素的次数
# print(names.index('wxx',0,3)) 在规定范围内查某个元素的 索引

列表可变的底层原理:
#指的是索引所对应的值的内存地址是可以改变的

# 元组不可变的底层原理:
#指的是索引所对应的值的内存地址是不可以改变的
#或者反过来说,只要索引对应值的内存地址没有改变,那么元组始终是没有改变的
2、字典

1)用途:用来存多个值,但每一个值都有一个key与之对应,key对值有描述性的功能
        当存储多个值表示的不同的状态时,

(2)定义方式:{}内用逗号分隔开多个元素,每一个元素都是key:value的形式
value可以是任意数据类型,但是key必须为不可变类型,key通常应该是字符串类型,

(3)、通过key 存取相对应的值
dic={1:'a',0:'b',1.1:'c',(1,2,3):'d'}
# print(dic[1]) 取值
# print(dic[0])
# print(dic[1.1])
d={'x':1,'y':2}  通过key 改值
d['x']=100
print(d)

d={'x':1,'y':2}   加值
d['z']=3
print(d)

(4)长度len

d={'x':1,'y':2}
print(len(d))

(5)
#3、成员运算in和not in
# d={'x':1,'y':2}
# print('x' in d)

(6)删除
d={'x':1,'y':2}
# del d['x']
# print(d) 直接删除

# res=d.pop('y') 删除后有返回值
# print(d)
# print(res)
(7)
键keys(),值values(),键值对items()
msg_dic={
'apple':10,
'tesla':100000,
'mac':3000,
'lenovo':30000,
'chicken':10,
}
names=[]
for k in msg_dic:
names.append(k)
print(names)

values=[]
for k in msg_dic:
values.append(msg_dic[k])
print(values)

(8)、循环
msg_dic={
'apple':10,
'tesla':100000,
'mac':3000,
'lenovo':30000,
'chicken':10,
}
# 只取key
# for k in msg_dic:
# print(k,msg_dic[k])

# for k in msg_dic.keys():
# print(k,msg_dic[k])

# 只取value
# for v in msg_dic.values():
# print(v)

#取key和value
# for k,v in msg_dic.items(): #k,v=('apple', 10)
# print(k,v)
(9)字典内置方法
d={'x':1,'y':2,'z':3}  get 方法,如果key 值存在,可以找出所对应的Value ,key值不存在,返回None
v=d.get('y')
print(v)

旧字典d={'x':1,'y':2,'z':3}      update 方法 用d1更新d (用一个新字典更新旧字典),原字典没有的把新字典的加进去,原字典有的,新字典覆盖
新字典d1={'a':1,'x':1111111}
d.update(d1)
print(d)

d = dict.fromkeys(['name','age','sex'],None) 造一个新字典
print(d)

setdefault方法  
# info.setdefault
# info={'name':'egon','age':18,'sex':'male'}

# 如果字典中有setdefault指定的key,那么不改该key对应的值,返回原的value
# res=info.setdefault('name','EGON_NB')
# print(info)
# print(res)

# 如果字典中没有setdefault指定的key,那么增加一个key:value,返回新的value
# info.setdefault('height',1.80)
# print(info)

# info={'age':18,'sex':'male'}
# v=info.setdefault('name','浩哥')
# print(v)









猜你喜欢

转载自www.cnblogs.com/quqinchao/p/ggh.html