Day09-公共操作与推导式

一、公共操作

 操作方法

 功能

 描述

 操作类型

 +    

 合并

 将两个相同类型序列进行连接

 字符串、列表、元组

 *

 复制

 将里面的数据进行复制

 字符串、列表、元组

 len

 获取序列长度

 查看序列长度

 字符串、列表、元组、字典,集合

 reversed

 倒置

 将容器里面的数据倒置

 字符串、列表、元组、字典

 max,min

 最大最小值

 求容器数据的最大最小值

 字符串、列表、元组、字典,集合

 sum

 求和

 将容器的数据求和

 列表、元组、字典,集合

 enumerate

 索引映射

 将索引映射给容器里面的数据

 列表、元组、或字符串

 in,not in

 是否存在

 判断数据是否存在于容器内

 字符串、列表、元组、字典,集合

 del

 删除

 删除变量或者指定容器内数据

 变量,容器里面的值

1、 + 合并  将两个相同类型序列进行连接  字符串,列表,元组
# l1 = [1, 2, 3]
# l2 = [4, 5, 6]
# print(l1 + l2)  # [1, 2, 3, 4, 5, 6]

2、 * 复制  将里面的数据进行复制  字符串,列表,元组
# l1 = [1, 2, 3]
# print(l1 * 3)  # [1, 2, 3, 1, 2, 3, 1, 2, 3]

3、 len 获取序列长度 查看序列长度  字符串,列表,元组,字典,集合
# print(len([1, 2, 3]))  # 3  # 返回一个int类型

4、 reversed 倒置   将窗口里面的数据倒置  字符串,列表,元组,字典
# l1 = [1, 2, 3]
# # print(reversed(l1))  # <list_reverseiterator object at 0x00914210>
# print(list(reversed(l1)))  # 转换为列表使用或者for循环使用
# for i in reversed(l1):
#     print(i)

 区别:
# l1 = [1, 2, 3]
# l1.reverse()
# print(l1)   #[3, 2, 1]

# l1 = [1, 2, 3]
# reversed(l1)    # 公共操作,生成一个新的列表,原列表无影响
# print(l1)   #[1, 2, 3]

5、in, not in 是否存在   判断是否存在于容器内 字符串,列表,元组,字典,集合
# l1 = ['小明', '小芳']
# print('小' in l1)  # False
# print('小明' in l1)  # True

6、 del 删除    删除变量或者指定容器内数据  变量,容器里面的值
# l1 = ['小明', '小芳']
# del l1[0]
# print(l1)  # ['小芳']

7、 max, min 最大最小值    求容器数据的最大最小值  字符串,列表,元组,字典,集合
# l1 = [1, 2, 3]
# print(max(l1), min(l1))  # 3 1
# l1 = ['1', '2', '3']
# print(max(l1), min(l1))  # 3 1
# l1 = ['aa', 'ay', 'az']  # 按照位依次判断ASCII码值,
# print(max(l1), min(l1))  # az aa

8、 sum 求和    将容器的数据求和  列表,元组,字典,集合
# d = {1: 2, 2: 3}  # 3,仅数字类的key进行求和
# print(sum(d))

# l1=[1,3,5,7,9]
# print(sum(l1))  # 25

9、 enumerate 枚举,索引映射     将索引映射给窗口里面的数据  列表,元组,字符串
# 需要用到循环次数的时候,使用此枚举
l1 = ['a', 'b', 'c']
# print(enumerate(l1))   #<enumerate object at 0x00918F58> #转换觉数据类型 for循环使用
# print(list(enumerate(l1)))  #[(0, 'a'), (1, 'b'), (2, 'c')]

# for i in enumerate(l1):
#     print(i)     #[(0, 'a'), (1, 'b'), (2, 'c')]

# for index,data in enumerate(l1):
# # for index, data in enumerate(l1, start=5):  # 5 a,6 b,7,c #start= 开始的索引值
#     print(index, data)

二、容器类型转换
 所有数据类型都可以转换为字符串

 转换为集合的时候需要注意数据的去重

三、推导式应用

1、列表推导式

# 普通写法

list_data = []

for i in range(10):

     list_data.append(i)

print(list_data)

# 推导式写法

list_data = [i for i in range(10)]

print(list_data)

# 创建列表 循环数据 添加数据 没有其它操作 可转换为推导式

# 推导式写法 不是所有代码都可以写为推导式 只有一种固定操作

2、列表推导式和if一起使用

# 普通写法

# list_data = []

# for i in range(10):

#     if i % 2 == 0:

#         list_data.append(i)

# print(list_data)

# 创建列表 循环数据 添加数据位置永远在最前面 if 放后面

# list_data = [i for i in range(10) if i % 2 == 0]

# print(list_data)

3、列表推导式和三元表达式一起使用

# age = 20

# if age > 18:

#     print('成年')

# else:

#     print('非成年')

# print('成年') if age > 18 else print('非成年')

 

# age = 20

# if age > 18:

#     data = 1

# else:

#     data = 0

# print(data)

#

# data = 1 if age > 18 else 0

# print(data)

 

# list_data = []

# for i in range(10):

#     if i % 2 == 0:

#         list_data.append(i)

#     else:

#         list_data.append(str(i))

#

# print(list_data)

# 创建列表 循环数据 添加数据位置永远在最前面

# list_data = [i if i % 2 == 0 else str(i) for i in range(10)]

# print(list_data)

 

l1 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 11]

# 1把列表中的数据类型转换为字符串类型

# 2列表所有数据x2 然后求和

 

# l2=[]

# for i in l1:

#     l2.append(str(i))

# print(l2)

#

# l2=[str(i) for i in l1]

# print(l2)

 

l2=[]

for i in l1:

    l2.append(i*2)

print(sum(l2))

 

 

posted @ 2023-02-04 16:02  Py小阿白  阅读(20)  评论(0)    收藏  举报