day05_python_1124

---恢复内容开始---

改l1[1:4:2]=[1:32]   对于增加个数

列表按切片取就是列表

---恢复内容结束---

01 昨日内容回顾
list:
增: append insert(index,object) extend() 迭代着追加
删:
pop(默认删除最后一个)按照索引去删除 有返回值
remove 按照元素去删除
clear 清空列表
del l1 删除列表
del l1[index] 按照索引删除
del l1[0:3] 按照切片删除
del l1[0:3:2] 按照切片删除

l1[2] = 'alex'
l1[1:3] = 'abcd' 迭代着添加
l1[1:4:2] = [1, 33]
查:
索引,切片,切片(步长)
for 循环

index:通过元素查询索引
count:查找某个元素在列表中的个数。
sort:排序,默认从小到大排序
sort(reverse=True) 从大到小
l1.reverse()
len() 统计列表的元素的总个数。

l1 = [1, 2, ['alex', 'barry'], 33]
l1[1] = 200
l1[2][0] = l1[2][0].upper()

元组:
(1, 'alex', True)
查:索引,切片, 切片(步长) for循环
index,count,len()
(1, 'alex', True,[1,2,3])


range() : 当做:可控范围的数字列表
与for循环结合。


02 作业讲解
03 字典
why:
1,列表如果存储大量的数据,查询速度相对慢一些。
2,列表存储的数据一般没有什么关联性。
[小潘, 175, 男,......]
针对以上因素,python提供了一个基础数据类型:dict字典。
数据类型的分类:
容器型数据类型:list,tuple,dict set。
非容器型数据类型:str bool int。

可变(不可哈希)的数据类型:list,dict,set。
不可变(可哈希)的数据类型:str,bool, int,tuple
(1, 2, 'alex', [1,2,3,])
b1 = True
b1 = False
l1 = [1, 2, 3]
l1.append(666)


what:字典:
{'name': 'alex'} 以键值对形式存储的数据类型。
1,字典的键必须是不可变(可哈希hash)的数据类型,唯一的不重复。
字典的值可以是任意数据类型(对象)。
2,字典的查询速度非常快。
3,字典在3.5包括3.5之前是无序的,但是3.6优化机制,字典会按照创建字典之初的顺序排列。
4,字典可以存储大量的关联性数据。
{'name': 'alex','python3期':['小潘','春哥', '二师兄'],
'太白':{
'name':'太白金星',
'id': 1306546743423,
'phone': 1358225xxxx,
'sex': '男'

}

}

how:
增删改查

其他操作
where:
当你想构建大量的关系型数据的时候,用到dict。

dic = {'name': 'barry', 'age': 18, 'sex': 'man'}
# 增删改查

# 增
# 有则覆盖,无责添加
# dic['weight'] = 150
# dic['age'] = 28
# print(dic)

# setdefault有则不变,无责添加
# dic.setdefault('high')
# dic.setdefault('high',175)
# dic.setdefault('name', '日天')
# print(dic)

# 删
# pop 通过键去删除键值对
# ret = dic.pop('name')
# print(ret) # 有返回值 返回对应的值
# ret1 = dic.pop('name1', '没有此键') # 没有此键 就不报错并且设置返回值
# print(ret1)
# print(dic)

# clear 清空
# dic.clear()
# print(dic)

# popitem 删除最后一个键值对
# 3.5之前是随机删除,3.6删除最后一个键值对
# ret= dic.popitem()
# print(ret)
# print(dic)

# del
# del dic
# print(dic)
# del dic['name']
# # print(dic)

# 改
# dic['age'] = 28
# print(dic)
# dic1 = {"name": "jin", "age": 18, "sex":"male"}
# dic2 = {"name": "alex","weight": 75}
# dic2.update(dic1) # 将dic1字典中的键值对覆盖添加到dic2中,dic1不变。
# print(dic1)
# print(dic2)
# dic.update(weight=150,high=175)
# print(dic)

# 查
# 按照键查对应的值
# print(dic['name'])
# print(dic['name1']) # 没有此键会报错

# ret = dic.get('age')
# ret = dic.get('age1')
# ret = dic.get('age1','没有此键')
# print(ret)

#
# 直接循环字典获取的是key值、
# for i in dic:
# print(i)

# dic.keys() dic.values() dic.items()
# 上面三个都是返回一个类似于列表的容器的特殊数据类型。
# print(dic.keys())
# for key in dic.keys():
# print(key)

#
# print(dic.values())
# for value in dic.values():
# print(value)

#
# print(dic.items())
# for item in dic.items():
# print(item)

# 分别赋值
# a, b = 100, 200
# print(a, b)
# a, b, c = (1, 2, 3)
# a, b, c = [1, 2, 3]
# print(a,b,c)
a = 50
b = 30
a, b = b, a # a, b = 30, 50


# for k, v in dic.items():
# print(k, v)


04 字典的嵌套

# l1 = ['jay','alex']
# print(l1[0].upper())
# l1[0] = l1[0].upper()
# print(l1)
# dic = {
# 'l1': ['alex', '太白'],
# 'id': 3,
# 1: {
# 'data': 20181225,
# 'place': '深圳校区',
# 'class': 'python3期',
# 'name_list': ['小潘', 'jay', '春哥', 'xx'],
# }
# }
# 1,给小列表['alex', '太白'] alex后面插入一个字符串,'aaa'
# dic['l1'].insert(1,'aaa')
# dic2 = {'l1':['alex','aaa', '太白']}
# dic.update(dic2)
# print(dic)
# 2,将id对应的3变成1.
# dic['id'] = 1
# print(dic)
# 3,将 1 对应的字典的data变成20181224,
# dic2 = dic[1]
# dic2['data'] = 20181224
# dic[1]['data'] = dic[1]['data'] - 1
# dic[1]['data'] -= 1
# print(dic)
# 4,将name_list对应的jay全部变成大写。
# print(dic[1]['name_list'][1].upper())
# dic[1]['name_list'][1] = dic[1]['name_list'][1].upper()
# print(dic)
# 4,将name_list对应的 xx 删除。
# dic[1]['name_list'].pop(-1)
# dic[1]['name_list'].remove('xx')
# del dic[1]['name_list'][-1]

# 格式化输出 %s
# 第一种方式:
# msg = '我叫%s,今年%d,性别%s' % ('太白', 18, '男')
# 第二种方式: 通过字典的方式
# dic = {'name': '太白', 'sex': '男', 'age': 18}
# msg = '我叫%(name)s,今年%(age)s,性别%(sex)s' % dic
# print(msg)


# fromkeys()
# dic = {'name': 'alex'}
# dic = dict.fromkeys('abc', '春哥')
# dic = dict.fromkeys([1, 2, 3],'春哥')
# 坑:值如果是可变的数据类型,那么所有的值都是一个内存地址
# dic = dict.fromkeys([1, 2, 3], ['alex'])
# dic[1].append(666)
# print(dic)


05,集合(了解)。

猜你喜欢

转载自www.cnblogs.com/yijue-lu/p/10175872.html
今日推荐