python入行009(数据类型之列表、元组、字典)

1.1 列表的定义

L = [1, 'mrz', [1, 2], {'age':18}]  # 本质上是 L = list(L)

1.2 类型转换

  将其它数据类型转换成列表类型,list()函数的参数必须是可迭代对象。

1.3 内置的方法

  优先掌握的操作:

  1.3.1 按照索引存取值

  list是可变数据类型,可以按照索引修改列表中的值。

  1.3.2 切片

  切片可以正向切和反向切,默认步长为1;切片相当于浅拷贝。

  1.3.3 长度  

  len()    

扫描二维码关注公众号,回复: 9998440 查看本文章

  1.3.4 成员运算

  in 和 not in

  1.3.5 往列表中添加值

# (1)在列表的末尾添加值
L.append('1')
# (2)按照索引插入值
L.insert(1,12)
# (3)插入可迭代对象
itr = 'mrz'
L.extend(itr)

  1.3.6 删除

# (1)删除指定位置的元素,没有返回值
res = del L[0]
# (2)删除指定位置的元素,默认是最后一个元素,返回被删除的值
res = L.pop(0)
# (3)删除指定的值,返回None
res = L.remove(1)

  需要掌握的操作:

  1.3.7 count方法,计算对象在列表中出现的次数

res = L.count(1)

  1.3.8 从指定范围内查找列表元素的索引,找不到报错

res = L.index(1,0,2)

  1.3.9 清空列表中的元素,返回None

res = L.clear()

  1.3.10 列表中的元素倒序

res = L.reverse()

  1.3.11 列表内元素必须是同种类型才可以排序,默认是升序

res = L.sort()

  了解:字符串可以比大小,比较对应的位置的字符ascii码值

  了解:列表也可以比大小,原理同字符串一样,但是对应位置的元素必须是同种类型

  1.3.12 补充

  队列:先进先出

  堆栈:先进后出了解:列表也可以比大小,原理同字符串一样,但是对应位置的元素必须是同种类型

2.1 元组的定义

tup = (1,'m',[2, 3], {'age':18})  # 本质上是tup = tuple(tup)

  如果元组中只有一个元素,必须加逗号。 

tup = (1,)

2.2 类型转化

  将其它数据类型转换成元组类型,tuple()函数的参数必须是可迭代对象。

2.3 内置的方法

  优先掌握的操作:

  2.3.1 按索引取值

  只能取值不能修改。

  2.3.2 切片

  顾头不顾尾,默认步长为1。

  2.3.3 len()

  2.3.4 in 和 not in

  2.3.5 可迭代对象,for循环遍历取值

  2.3.6 count()方法,同列表

  2.3.7 index()方法,同列表

3.1 字典的定义

dic = {'name': 'mrz', 'age': 18}  #本质上是dic = dict(dic)

字典是由键值对组成,字典中的键必须是不可变数据类型且不能重复 ,值可以是任意数据类型。

3.2 定义字典的四种方式

# 方式一:直接定义
dic = {'name': 'mrz', 'age': 18}
# 方式二:使用变量赋值的方式定义
dic1 = dict(name='mrz', age=18)
# 方式三:可迭代数据中嵌套长度为2的可迭代数据类型
info=[
    ['name','egon'],
    ('age',18),
    ['gender','male']
]
dic2 = dict(info)
# 方式四:使用fromkey()方法快速初始化一个字典
keys = ['name', 'age', 'gender']
dic3 = {}.fromkeys(keys, None)  

 3.3 内置的方法

  优先掌握的操作

  3.3.1 按key存取值

  使用dict[key]访问字典中的值,字典是可变数据类型,使用dict[key] = value 可以修改值或新增值。

  3.3.2 字典的长度len()

  key的数量就是字典的长度。

  3.3.3 in 和 not in

  判断key是否在字典中而不是value。

  3.3.4 删除字典中键值对的三种方法

# 方法一:del dict[key]
dic = {'name': 'mrz', 'age': 18}
del dic['name']
print(dic)
# 方法二:返回删除的值
dic = {'name': 'mrz', 'age': 18}
res = dic.pop('age')
print(dic)
print(res) 
# 方法三:删除字典中最后一对键值对,返回一个元组
dic = {'name': 'mrz', 'age': 18}
res = dic.popitem()
print(dic)
print(res)

   3.3.5

  dic.keys()    dic.values()    dic.items()   得到的是一个‘老母鸡’(迭代器)

dic = {'name': 'mrz', 'age': 18, 'sex':'male'}
for k in dic.keys():
    print(k)
for v in dic.values():
    print(v)
for k, v in dic.items(): print(k, v)

   需要掌握的操作

  3.3.6 dic.clear()

dic = {'name': 'mrz', 'age': 18, 'sex':'male'}
dic.clear()
print(dic)
>>>{}

   3.3.7 dic.update() 更新字典中的键值对

dic = {'name': 'mrz', 'age': 18, 'sex':'male'}
dic.update({'name':'mrz1'})
print(dic)
>>>{'name': 'mrz1', 'age': 18, 'sex': 'male'}

   3.3.8 dic.get() 容错性好,取错key的值不会报错

dic = {'name': 'mrz', 'age': 18, 'sex':'male'}
res = dic.get('name1')
print(res)
>>>None

   3.3.9 dic.setdefault()

  如果key有则不添加,返回字典中key对应的值

dic = {'name': 'mrz', 'age': 18, 'sex':'male'}
res = dic.setdefault('name',18)
print(dic)
print(res)
>>>
{'name': 'mrz', 'age': 18, 'sex': 'male'}
mrz

  如果key没有则添加,返回字典中key对应的值

dic = {'name': 'mrz', 'age': 18, 'sex':'male'}
res = dic.setdefault('name1',18)
print(dic)
print(res)
>>>
{'name': 'mrz', 'age': 18, 'sex': 'male', 'name1': 18}
18

猜你喜欢

转载自www.cnblogs.com/mmmmmrz/p/12533137.html