元组+字典类型day06

一、元组类型

1、用途:元组是不可变的列表,能存多个值。如果多个值只有取的需求,而没有改的需求,那么用元组最合理,因为列表占用内存比较大

2、定义方式:在()内用逗号分隔开,能存放任意类型的值

强调:当元组中只有一个元素时,务必记住加一个逗号,如果不加逗号,这里默认变量是括号里的类型

3、常用操作+内置方法

1、按索引取值(正向取+反向取);只能取

2、切片(顾头不顾尾,步长)

3、长度  

  names=('alex','egon','wxx','lxx','cxxx')
  print(len(names))    #5

4、成员运算in 和not in

5、循环

names=('aa','bb','cc','dd')

for item in names

  print(item)

总结


1、可以存一个值or多个值

  能存多个值,值可以是任意类型

2、有序or无序

  有序

3、可变or不可变

  不可变

列表可变的底层原理:

  指的是:索引所对应的值的内存地址是可以改变的,但是列表的内存地址是不变的

元组不可变的底层原理:

  指的是索引所对应的值的内存地址是不可以改变的

  或者反过来说,只要是索引对应值的内存地址没有改变,那么元组始终是没有改变的

# t1=(['a','b','c'],'wc','office')
#
# print(id(t1[0]))    #10158808           注:元组不变指的是只要索引对应的内存地址没有变,那么元组始终是没有改变的
# print(id(t1[1]))    #6313760
# print(id(t1[2]))    #10119168
#

二、字典类型

1、基本使用

1、用途:用来存多个值,但每一个值都有一个key与之对应,key对值有描述作用。一般用来存多个表示不同状态的值

2、定义方式:{}内用逗号分隔开多个元素,每个元素都是key:value的形式。

      其中,value可以是任意数据类型,但是key必须为不可变类型,key通常时字符串类型

3、常用操作+内置方法

a、按key取值,可存可取

b、长度运算

c、成员运算in和not in

  注:字典的成员运算比较的是key

d、删除

# d={'x':1,'y':2}
# del d['x']        #通用的删除,列表等都能用
# print(d)

# res=d.pop('y')    #是有返回值的删除,其中返回值是删掉的元素中的value
# print(d)      #{'x': 1}
# print(res)    #2

# res=d.popitem()       #
# print(d)            #因为字典是无序的,所以,是随机删除
# print(res)          #返回值是删掉的那组元素,返回形式是元组('y', 2)

# d={'a':1,'b':2,'c':3,'d':4}
# for k in d:             #取出key
#     print(k)
View Code

e、循环字典得到是字典的key

#6、循环
# 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)
View Code

f、

# d={'x':1,'y':2,'z':3}
# v=d.get('xxxx') #通过key将字典中的数据取出来,如果key不在字典内会返回None不会报错
# print(v)
# print(d['xxxxxxx']) #直接用d[key]形式如果key不在字典内,则会报错,

g、

# d={'x':1,'y':2,'z':3}
# d1={'a':1,'x':1111111}
# d.update(d1) #可以将d1的列表合入d中,其中,如果d中有的key,会将d1中的key的赋值给d的,
# # d中没有的会将,会将d1中的key:value放入d中
# print(d) #{'x': 1111111, 'y': 2, 'z': 3, 'a': 1}

h、

l=['name','age','sex']
d=dict.fromkeys(1,None) #{'name': None, 'age': None, 'sex': None}将列表快速初始化为字典

i、setdefault

1、如果字典中有setdefault指定的key,那么不改变key对应的值,返回原来字典中的value

2、如果字典中没有setdefault指定的key,那么在字典中增加一个key:value,返回新增的value

总结


1、存一个值or存多个值

可以存多个值,值都可以是任意类型,而key必须是不可变类型,通常时字符串类型

2、有序or无序

无序

3、可变or不可变

可变

 

猜你喜欢

转载自www.cnblogs.com/xiaocao736427460/p/9126330.html