day7-总结

数据推导式

1). 序列变换成列表(统一)

str1 =  'abc'

list1 = [x for x in str1]

print(list1)     # ['a', 'b', 'c']
nums = [10, 245, 89, 56]

list2 = [x*100 for x in nums]

print(list2)     # [1000, 24500, 8900, 5600]
list3 = [x % 10 for x in nums]
print(list3)

2). 筛选(提取出有效或者删除无效)

scores = [89, 8, 100, 98, 67, 34, 59, 45, 23, 78, 92]
new_scores = [x for x in scores if x >= 60]   
print(new_scores)

3). 不统一的变换

list4 = [19, 'abc', 98, 'mnb', 13, 53]
new_list4 = [x*10 if type(x) == int else x for x in list4]  #三元运算(三目运算)
print(new_list4)

列表的加法和乘法

加法:列表一 + 列表二 ---- > 合并两个列表产生一个新的列表

print([1, 2, 3] + ['后羿', ['鲁班七号'])   # [1, 2, 3, '后裔', '鲁班7号']

乘法:列表 * N ----> 列表中的元素重复N次产生一个新的列表

a = [1, 2, 3]

print(a * 3)       # [1, 2, 3, 1, 2, 3, 1, 2, 3]

比较运算

1). 比较等于:==, !=

2). is的用法:is的实质是判断两个数据的地址是否一样

获取变量中保存的数据在内容空间中的地址:id(变量)

结论1:用数据给变量赋值的时候,如果数据是不可变,那么会复用前面存储的值。

如果数据可变,不管之前有没有存储过,都会重新开辟新的内容空间。

数字不可变 列表可变 元祖不可变 字典可变

结论2:如果用一个变量给另外一个变量赋值,其实是让新的变量保存原变量中的数据的地址。(不

会开辟新的空间保存

a = 100
b = a
print(id(a), id(b)) # 4564547360 4564547360 地址一样

结论3:python中所有的变量都是指针变量。(变量保存数据的时候其实保存的是数据在内存中存储的地址)

列表的函数和相关方法
  1. 函数

max和min

max(序列) ---- 返回序列中元素的最大值

min(序列) ---- 返回序列中元素的最小值

sum

sum(序列) ----求序列中所有元素的和,但是序列中的元素只能是数字

sorted

sorted(序列) ----将序列中的元素从小到大的排序(升序),以列表的形式返回

sorted(序列, reverse = True) ----将序列中的元素从大到小的排序(降序),以列表的形式返回

list

list(序列) ---- 将其他序列转换成列表(任何序列都可以转换成列表)

  1. 方法

列表(list).clear() ---- 删除列表中所有的元素

列表(list).copy() ---- 返回一个和原列表(长的一样)一样的新列表,

copy的列表和原列表内存地址不一样

列表(list).count(元素) ---- 返回元素在列表中出现的次数

列表(list).extend(序列) ---- 将extend后面序列中的元素全部添加到列表中**(批量添加元素)**

列表(list).index(元素) ---- 返回元素在列表中的下标(开始的下标是从0开始的下标值)

注意:如果元素存在多个,只返回最前面的元素的下标.

​ 如果元素不存在将报错

列表(list).reverse() ---- 列表逆序

列表(list).sort() ---- 升序

列表(list).sort(reverse = True) ---- 将序

字典

字典是容器型数据类型,将{}作为容器的标志,里面多个元素(元素都是键值对)用逗号隔开

语法:{键1:值1, 键2:值2, 键3:值3,…}

注意:字典保存数据,其实是保存的值,键的作用是对值进行分区和说明

字典可变(支持增删改查)

字典无序(不支持下标操作)

字典的元素:必须以键值对形式出现

键:必须是不可变的数据(一般使用字符串)且唯一

值:任何类型的数据都可以,可以重复

字典的增删改查

  1. 获取单个值

a. 字典[key] ---- 获取字典中指定key对应的值,如果key不存在会报错
b. 字典.get(key) ---- 获取字典中指定key对应的值,如果key不存在不报错并且返回None
c. 字典.get(key, 默认值)

  1. 遍历

for - in 遍历字典取到的是字典的键

增,改

字典[key] = 值 ---- 当key存在的时候就是修改,当key不存在的时候就是增加

  1. del 字典[key] ---- 删除字典中指定key对应的键值对,当key不存在时会报错

  2. 字典.pop(key) ---- 取出字典中指定key对应的值并返回key对应的值(value)

in和not in操作

作用:字典的in和not in判断的是某个key是否存在

dict1 = {'a': 10, 'b': 20, 'c': 30}
print(10 in dict1)   # False
print('a' in dict1)  # True

max, min, sum, sorted()了解 ---- 这些操作全部针对字典的key

dict

dict(序列) ---- 将序列转换成字典

要求:序列中的每个元素都是序列

​ 小序列有且只有一个元素

​ 小序列的第一个元素不可变

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值