仁英 发表于 2023-4-13 09:50:51

10公共操作与推导式

公共操作与推导式

公共操作

操作方法功能描述操作类型+合并将两个相同类型序列进行连接字符串、列表、元组*复制将里面的数据进行复制字符串、列表、元组len获取序列长度查看序列长度字符串、列表、元组、字典,集合reversed倒置将容器里面的数据倒置字符串、列表、元组、字典max, min最大最小值求容器数据的最大最小值字符串、列表、元组、字典(key),集合sum求和将容器的数据求和列表、元组、字典(key,其为字符串不能使用),集合enumerate索引映射将索引映射给容器里面的数据列表、元组、或字符串in, not in是否存在判断数据是否存在于容器内字符串、列表、元组、字典,集合del删除删除变量或者指定容器内数据变量,容器里面的值# reversed   倒置         将容器里面的数据倒置      字符串、列表、元组、字典
l1 =
print(reversed(l1))   # <list_reverseiterator object at 0x0000022CE5786A40>
# 可以转为列表使用或者for循环使用
print(list(reversed(l1)))#
for i in reversed(l1):
    print(i)
# 3
# 2
# 1

# enumerate索引映射      索引映射给容器里面的数据    列表、元组、或字符串
l1 = ['a', 'b', 'c']
# 转换为常见数据类型或for循环使用
print(list(enumerate(l1)))   # [(0, 'a'), (1, 'b'), (2, 'c')]
for index, data in enumerate(l1, start=0):        # start = 开始的索引值(不写也可,默认为0)
    print(index, data)
# 0 a
# 1 b
# 2 c容器类型的转换


[*]所有数据类型都可以转换为字符串
[*]转换为集合的时候需要注意数据的去重
[*]字典数据转换是需要注意按照key还是value转换
# 字典转为列表
goods = {"name1": "可乐", "name2": "雪碧", "name3": "炸鸡"}
list1 = list(goods)
print(list1)# ['name1', 'name2', 'name3']   所有的key值转换成了列表
list2 = list(goods.values())
print(list2)# ['可乐', '雪碧', '炸鸡']所有的value值转换成了列表

# 列表转字典
# 列表是不能够直接dict转换成字典
# 1)嵌套列表转字典
a = ['可乐', '雪碧']
b = ['3元', '5元']
c = # 嵌套的形式转换
print(c)    # [['可乐', '雪碧'], ['3元', '5元']]
print(dict(c))# {'可乐': '雪碧', '3元': '5元'}
# ps:若列表长度不一致,会报错

# 2)使用zip()函数将列表转换成字典
a = ['可乐', '雪碧', '炸鸡']
b = ['3元', '5元']
c = zip(a, b)
print(c)    # <zip object at 0x0000010FC5DD0040>
print(list(c))# [('可乐', '3元'), ('雪碧', '5元')]若长度不一样,多出的元素会不显示。
print(dict(c))# {'可乐': '3元', '雪碧': '5元'}若长度不一样,多出的元素会不显示。列表推导式和三元表达式

# 列表推导式
# 代码简写,增加运行效率减少代码可读性,难理解

# 普通写法
list_data = []
for i in range(10):
    list_data.append(i)
print(list_data)

# 推导式写法 不是所有代码都可以简写为推导式,只有一种固定操作
# 创建列表,循环数据,添加数据(append),没有其他操作
list_data =
print(list_data)


# 普通写法
list_data = []
for i in range(10):
    if i % 2 == 0:
      list_data.append(i)

print(list_data)

# 创建列表,循环数据,添加数据位置永远在最前面 if(多个也可以,但不建议,可读性太差)放后面
list_data =
print(list_data)

# 三元表达式

# 普通写法
age = 16
if age > 18:
    print("成年")
else:
    print("未成年")

# 三元表达式的写法
age = 16
print("成年") if age > 18 else print("未成年")

# 普通写法,if分支语句种含有赋值
age = 16
if age > 18:
    data = 1
else:
    data = 0

print(data)

# if分支语句种含有赋值的三元表达式写法
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 =
print(list_data)ps:一般使用较多的就是列表创建时的列表推导式,其他不推荐使用,代码可读性太差,只需要认识其表达含义即可。

来源:https://www.cnblogs.com/daguo118/p/17312219.html
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!
页: [1]
查看完整版本: 10公共操作与推导式