10公共操作与推导式

公共操作与推导式

公共操作

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


# 普通写法
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)

# 三元表达式

# 普通写法
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 = [i if i % 2 == 0 else str(i) for i in range(10)]
 print(list_data)

ps:一般使用较多的就是列表创建时的列表推导式,其他不推荐使用,代码可读性太差,只需要认识其表达含义即可。

原文链接:https://www.cnblogs.com/daguo118/p/17312219.html

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:10公共操作与推导式 - Python技术站

(0)
上一篇 2023年4月17日
下一篇 2023年4月17日

相关文章

  • python获取http请求响应头headers中的数据的示例

    以下是关于“Python 获取 HTTP 请求响应头 headers 中的数据的示例”的完整攻略: Python 获取 HTTP 请求响应头 headers 中的数据的示例 在 Python 中,我们可以使用 requests 模块发送 HTTP 请求,并获取 HTTP 响应。HTTP 响应中包含了响应头 headers,我们可以使用 requests 模块…

    python 2023年5月15日
    00
  • Python对字符串实现去重操作的方法示例

    下面是关于“Python对字符串实现去重操作的方法示例”的详细攻略。 1. 去重操作的目的和方法 去重操作的目的是为了消除字符串中的重复项,使字符串中的元素互不相同。Python提供了多种去重方法,这里介绍其中两种常用的方法。 1.1 使用set()函数进行去重 使用Python自带的set()函数可以很方便地对字符串进行去重操作。具体方法如下: str1 …

    python 2023年6月3日
    00
  • Python如何使用Eel和HTML开发桌面应用

    Python可以使用Eel和HTML开发桌面应用。Eel是一个Python库,可以将Python代码与HTML、CSS和JavaScript代码结合起来,从而创建桌面应用程序。以下是Python如何使用Eel和HTML开发桌面应用的完整攻略,包含两个示例。 示例1:使用Eel和HTML创建简单的桌面应用 以下是一个示例,可以使用Eel和HTML创建简单的桌面…

    python 2023年5月15日
    00
  • Python 通配符删除文件的实例

    下面是关于Python通配符删除文件的实例的完整攻略。 什么是通配符? 通配符是一种字符,用于代替其他字符。在文件操作中,我们常用通配符来匹配一类文件或者一组文件。 常用的通配符有: *:匹配0个或多个字符。 ?:匹配任何单个字符。 [ ]:匹配任何单个字符集。 通配符删除文件的实例 对于Python来说,可以使用glob模块来匹配文件名、目录名等。 删除指…

    python 2023年6月2日
    00
  • Python绘制3D图形

    Python绘制3D图形的完整攻略 1. 引言 Python是一种直截了当且让人意想不到地灵活的编程语言,而它在技术界的重要地位无人可比。之所以如此受欢迎,其原因之一就是大量可供选择的模块或库包括用于数据可视化的matplotlib模块和3D图形可视化的plotly。 本文将以matplotlib为例,介绍如何使用Python绘制3D图形。 2. 环境安装 …

    python 2023年6月2日
    00
  • python中wheel的用法整理

    Python中wheel的用法整理 概述 Python的wheel是一个二进制分发格式,它允许您将软件包编译为本机代码,并且安装起来比源代码更快。Wheel还提供了一种便捷的方式来构建Python软件包,即使您的软件包中包含C扩展也能有很好的表现。 在本篇文章中,我们将讲解一些使用wheel的常见场景和方法,以及如何使用pip安装和管理wheel包。这些应该…

    python 2023年5月14日
    00
  • matplotlib图例、标签、坐标轴刻度的字体设置方式

    下面是matplotlib图例、标签、坐标轴刻度的字体设置方式的完整攻略: 设置图例字体 在matplotlib中,可以通过legend()函数设置图例。要设置图例的字体,可以通过prop参数传递一个font对象,该对象控制图例中的字体属性。 import matplotlib.pyplot as plt import matplotlib.font_man…

    python 2023年6月6日
    00
  • Python 反转序列(reversed函数)使用方法

    reversed() 函数是 Python 内置的用于反转序列对象的函数。它接受一个可迭代对象作为参数,返回一个新的迭代器对象,该迭代器对象以相反的顺序遍历原始序列。 reversed() 函数的基本语法如下: reversed(seq) 其中,seq 是要反转的序列对象,可以是列表、元组、字符串或任何可迭代对象。 例如,反转一个列表: lst = [1, …

    2023年2月19日
    00
合作推广
合作推广
分享本页
返回顶部