精华内容
下载资源
问答
  • len
    千次阅读
    2021-01-27 16:21:56

    SQL 中的 LEN() 函数返回文本字段中值的长度

    SELECT LEN( column_name ) FROM table_name;

    LEN() 返回的是数据库服务器编码下的字符串长度,如果数据库服务器的编码是 UTF-8,那么 '中国' 将返回 6

    不过 MySQL 中没有 LEN() 函数,取而代之的是 LENGTH() 函数,但用法都一样

    SELECT LENGTH( column_name ) FROM table_name;

    注意

    一般情况下我们不推荐使用这个函数,因为应用的瓶颈一般在数据库,这两个语句显然会降低数据库的并发能力

    范例

    LEN() 可以直接返回字符串的长度,比如下面这条语句

    SELECT LENGTH('www.twle.cn 基础教程');

    运行结果如下

    mysql> SELECT LENGTH('www.twle.cn 基础教程');

    +------------------------------------+

    | LENGTH('www.twle.cn 基础教程') |

    +------------------------------------+

    | 24 |

    +------------------------------------+

    演示数据

    先在 MySQL 数据库运行下面的语句创建测试数据

    CREATE DATABASE IF NOT EXISTS twle default character set utf8mb4 collate utf8mb4_unicode_ci;

    USE twle;

    DROP TABLE IF EXISTS `lession`;

    CREATE TABLE `lession` (

    id int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,

    name varchar(32) default '',

    views int(11) NOT NULL default '0',

    created_at DATETIME

    );

    INSERT INTO lession(id,name,views,created_at) VALUES

    (1, 'Python 基础教程',981,'2017-04-18 13:52:03'),

    (2, 'Scala 基础教程',73,'2017-04-18 16:03:32'),

    (3, 'Ruby 基础教程',199,'2017-05-01 06:16:14');

    使用 SELECT * FROM lession; 运行结果如下

    +----+---------------------+-------+--------------------+

    | id | name | views | created_at |

    +----+---------------------+-------+--------------------+

    | 1 | Python 基础教程 | 981 | 2017-04-18 13:52:03 |

    | 2 | Scala 基础教程 | 73 | 2017-04-18 16:03:32 |

    | 3 | Ruby 基础教程 | 199 | 2017-05-01 06:16:14 |

    +----+---------------------+-------+--------------------+

    总共有 3 条记录

    SQL LEN() 范例

    我们可以使用下面的语句返回 name 列中的长度

    SELECT name, LENGTH(name) FROM lession;

    运行结果输出如下

    mysql> SELECT name, LENGTH(name) FROM lession;

    +---------------------+--------------+

    | name | LENGTH(name) |

    +---------------------+--------------+

    | Python 基础教程 | 19 |

    | Scala 基础教程 | 18 |

    | Ruby 基础教程 | 17 |

    +---------------------+--------------+

    更多相关内容
  • Python中的 len() 是什么?如何使用 len() 函数查找字符串的长度 在编程语言中,获取特定数据类型的长度是一种常见做法。 Python也一样,因为可以使用内置的 len() 函数来获取字符串、元组、列表、字典或任何其他...

    Python中的 len() 是什么?如何使用 len() 函数查找字符串的长度

    在编程语言中,获取特定数据类型的长度是一种常见做法。
    Python也一样,因为可以使用内置的 len() 函数来获取字符串、元组、列表、字典或任何其他数据类型的长度。
    在本文中,我将向你展示如何使用 len) 函数获取字符串的长度

    Python中 len() 的基本语法

    要使用 len() 函数获取数据类型的长度,请将数据类型分配给变量,然后将变量名传递给 len() 函数。

    len(variableName)
    

    如何使用 len() 函数查找字符串的长度

    当使用 len() 函数获取字符串的长度时,它会返回字符串中的字符数,包括空格。
    下面是3个示例,向你展示它的工作原理:

    name = "freeCodeCamp"
    print(len(name))
    
    # Output: 12
    

    这意味着字符串中有12个字符。

    founder = "Quincy Larson"
    print(len(founder))
    
    # Output: 13
    

    这意味着字符串中有13个字符。

    description = "freeCodeCamp is a platform for learning how to code for free"
    print(len(description))
    
    # Output: 60
    

    这意味着字符串中有60个字符。

    len() 如何与Python中的其他数据类型一起工作

    你可能想知道 len() 函数如何处理列表和元组等其他数据类型。
    当对元组或列表等数据类型使用 len() 函数时,它返回元组或列表中的项数,而不是字符数。
    例如,返回3的值是下面元组的长度,而不是其中单词的字符数

    langs = ("Python", "JavaScript", "Golang")
    print(len(langs))
    
    # Output: 3
    

    所以这取决于你使用的数据类型。

    总结

    在本文中,你学习了如何获取字符串的长度——字符数。
    谢谢你的阅读。加粗样式

    展开全文
  • 摘要:本文为你带来如何找到长度内置数据类型的使用len() 使用len()与第三方数据类型 提供用于支持len()与用户定义的类。
    摘要:本文为你带来如何找到长度内置数据类型的使用len() 使用len()与第三方数据类型 提供用于支持len()与用户定义的类。

    本文分享自华为云社区《在 Python 中使用 len() 函数》,作者:Yuchuan 。

    在许多情况下,您需要找到存储在数据结构中的项目数。Python 的内置函数len()是帮助您完成此任务的工具。

    在某些情况下, 的使用len()很简单。但是,有时您需要更详细地了解此函数的工作原理以及如何将其应用于不同的数据类型。

    在本教程中,您将学习如何:

    • 找到的长度内置数据类型的使用len()
    • 使用len()与第三方数据类型
    • 提供用于支持len()与用户定义的类

    在本文结束时,您将知道何时使用len()Python 函数以及如何有效地使用它。您将知道哪些内置数据类型是有效参数len(),哪些不能使用。您还可以了解如何使用len()第三方类型,如ndarray在与NumPy和DataFrame在大熊猫,并用自己的类。

    Python 入门 len()

    该函数len()是 Python 的内置函数之一。它返回对象的长度。例如,它可以返回列表中的项目数。您可以将该函数用于许多不同的数据类型。但是,并非所有数据类型都是 的有效参数len()。

    您可以从查看此功能的帮助开始:

    >>>
    >>> help(len)
    Help on built-in function len in module builtins:
    len(obj, /)
        Return the number of items in a container.

    该函数将一个对象作为参数并返回该对象的长度。该文件对len()去远一点:

    返回对象的长度(项目数)。参数可以是序列(例如字符串、字节、元组、列表或范围)或集合(例如字典、集合或冻结集合)。(来源)

    当您使用内置数据类型和许多带有 的第三方类型时len(),该函数不需要遍历数据结构。容器对象的长度存储为对象的属性。每次在数据结构中添加或删除项目时,都会修改此属性len()的值,并返回长度属性的值。这确保了len()有效地工作。

    在以下部分中,您将了解如何使用len()序列和集合。您还将了解一些不能用作len()Python 函数参数的数据类型。

    使用len()内置序列

    一个序列是订购物品的容器。列表、元组和字符串是 Python 中的三个基本内置序列。您可以通过调用找到序列的长度len():

    >>>
    >>> greeting = "Good Day!"
    >>> len(greeting)
    9
    
    >>> office_days = ["Tuesday", "Thursday", "Friday"]
    >>> len(office_days)
    3
    
    >>> london_coordinates = (51.50722, -0.1275)
    >>> len(london_coordinates)
    2

    在查找 string greeting、 listoffice_days和 tuple的长度时london_coordinates,您len()以相同的方式使用。所有三种数据类型都是 的有效参数len()。

    该函数len()始终返回一个整数,因为它正在计算您传递给它的对象中的项目数。0如果参数是空序列,则函数返回:

    >>>
    >>> len("")
    0
    >>> len([])
    0
    >>> len(())
    0

    在上面的例子中,你找到了一个空字符串、一个空列表和一个空元组的长度。该函数0在每种情况下都返回。

    一个range对象也可以创建使用序列range()。一个range对象不存储所有的值,但它们产生在需要时他们。但是,您仍然可以range使用len()以下方法找到对象的长度:

    >>>
    >>> len(range(1, 20, 2))
    10

    此数字范围包括从1到19增量为的整数2。range对象的长度可以通过开始、停止和步长值来确定。

    在本节中,您已将len()Python 函数用于字符串、列表、元组和range对象。但是,您也可以将该函数与任何其他内置序列一起使用。

    使用len()带内置集合

    在某些时候,您可能需要在列表或其他序列中查找唯一项的数量。您可以使用集和len()来实现这一点:

    >>>
    >>> import random
    
    >>> numbers = [random.randint(1, 20) for _ in range(20)]
    
    >>> numbers
    [3, 8, 19, 1, 17, 14, 6, 19, 14, 7, 6, 1, 17, 10, 8, 14, 17, 10, 2, 5]
    
    >>> unique_numbers = set(numbers)
    {1, 2, 3, 5, 6, 7, 8, 10, 14, 17, 19}
    
    >>> len(unique_numbers)
    11

    您numbers使用列表推导式生成列表,它包含 20 个介于1和之间的随机数20。由于您生成的是随机数,因此每次运行代码时输出都会不同。在这个特定的运行中,有 20 个随机生成的数字列表中有 11 个唯一数字。

    您将经常使用的另一种内置数据类型是dictionary。在字典中,每一项都由一个键值对组成。当您使用字典作为 的参数时len(),该函数返回字典中的项目数:

    >>>
    >>> len({"James": 10, "Mary": 12, "Robert": 11})
    3
    
    >>> len({})
    0

    第一个示例的输出显示此字典中有三个键值对。与序列的情况一样,当参数是空字典或空集时len()将返回0。这导致空字典和空集为假。

    探索len()其他内置数据类型

    您不能使用所有内置数据类型作为len(). 对于其中不存储多个项目的数据类型,长度的概念不相关。这是数字和布尔类型的情况:

    >>>
    >>> len(5)
    Traceback (most recent call last):
        ...
    TypeError: object of type 'int' has no len()
    
    >>> len(5.5)
    Traceback (most recent call last):
         ...
    TypeError: object of type 'float' has no len()
    
    >>> len(True)
    Traceback (most recent call last):
         ...
    TypeError: object of type 'bool' has no len()
    
    >>> len(5 + 2j)
    Traceback (most recent call last):
         ...
    TypeError: object of type 'complex' has no len()

    该整数,浮点数,布尔,以及复杂类型的内置数据类型,你不能使用示例len()。TypeError当参数是没有长度的数据类型的对象时,该函数会引发 a 。

    您还可以探索是否可以使用迭代器和生成器作为参数len():

    >>>
    >>> import random
    
    >>> numbers = [random.randint(1, 20) for _ in range(20)]
    >>> len(numbers)
    20
    
    >>> numbers_iterator = iter(numbers)
    >>> len(numbers_iterator)
    Traceback (most recent call last):
         ...
    TypeError: object of type 'list_iterator' has no len()
    
    >>> numbers_generator = (random.randint(1, 20) for _ in range(20))
    >>> len(numbers_generator)
    Traceback (most recent call last):
         ...
    TypeError: object of type 'generator' has no len()

    您已经看到列表具有长度,这意味着您可以将其用作len(). 您可以使用内置函数从列表中创建一个迭代器iter()。在迭代器中,只要需要,就会获取每个项目,例如在使用函数next()或在循环中时。但是,您不能在len().

    你得到了TypeError,当您尝试使用一个迭代器作为一个参数len()。由于迭代器在需要时获取每个项目,因此测量其长度的唯一方法是耗尽迭代器。迭代器也可以是无限的,例如由 返回的迭代器itertools.cycle(),因此它的长度无法定义。

    不能使用发电机与len()出于同样的原因。如果不使用它们,就无法测量这些物体的长度。

    len()用一些例子进一步探索

    在本节中,您将了解len(). 这些示例将帮助您更好地了解何时使用此功能以及如何有效地使用它。在某些示例中,您还将看到len()可能的解决方案但可能有更多 Pythonic 方法来实现相同输出的情况。

    验证用户输入的长度

    的一个常见用例len()是验证用户输入的序列的长度:

    # username.py
    
    username = input("Choose a username: [4-10 characters] ")
    
    if 4 <= len(username) <= 10:
        print(f"Thank you. The username {username} is valid")
    else:
        print("The username must be between 4 and 10 characters long")

    在此示例中,您使用if语句来检查 返回的整数len()是否大于或等于4且小于或等于10。你可以运行这个脚本,你会得到一个类似于下面的输出:

    $ python username.py
    Choose a username: [4-10 characters] stephen_g
    Thank you. The username stephen_g is valid

    在这种情况下,用户名的长度为 9 个字符,因此if语句中的条件计算结果为True。您可以再次运行脚本并输入无效的用户名:

    $ python username.py
    Choose a username: [4-10 characters] sg
    The username must be between 4 and 10 characters long

    在这种情况下,len(username)返回2,并且if语句中的条件计算结果为False。

    根据对象的长度结束循环

    len()如果您需要检查可变序列(例如列表)的长度何时达到特定数字,您将使用。在以下示例中,您要求用户输入三个用户名选项,并将它们存储在列表中:

    # username.py
    
    usernames = []
    
    print("Enter three options for your username")
    
    while len(usernames) < 3:
        username = input("Choose a username: [4-10 characters] ")
        if 4 <= len(username) <= 10:
            print(f"Thank you. The username {username} is valid")
            usernames.append(username)
        else:
            print("The username must be between 4 and 10 characters long")
    
    print(usernames)

    您现在使用的从结果len()的while声明。如果用户输入了无效的用户名,您不会保留输入。当用户输入有效字符串时,您将其附加到列表中usernames。循环重复,直到列表中有三个项目。

    您甚至可以len()用来检查序列何时为空:

    >>>
    >>> colors = ["red", "green", "blue", "yellow", "pink"]
    
    >>> while len(colors) > 0:
    ...     print(f"The next color is {colors.pop(0)}")
    ...
    The next color is red
    The next color is green
    The next color is blue
    The next color is yellow
    The next color is pink

    您使用 list 方法.pop()在每次迭代中从列表中删除第一项,直到列表为空。如果您在大型列表上使用此方法,则应从列表末尾删除项目,因为这样效率更高。您还可以使用内置模块中的deque数据类型collections,它允许您有效地从左侧弹出。

    通过使用序列的真实性,有一种更 Pythonic 的方式来实现相同的输出:

    >>>
    >>> colors = ["red", "green", "blue", "yellow", "pink"]
    
    >>> while colors:
    ...    print(f"The next color is {colors.pop(0)}")
    ...
    The next color is red
    The next color is green
    The next color is blue
    The next color is yellow
    The next color is pink

    空列表是假的。这意味着该while语句将空列表解释为False。非空列表是真实的,while语句将其视为True. 返回的值len()决定了序列的真实性。一个序列是truthy当len()返回任何非零整数,并且当falsylen()返回0。

    查找序列最后一项的索引

    想象一下,您想要生成一个范围1为的随机数序列,10并且您希望不断向该序列添加数字,直到所有数字的总和超过21。以下代码创建一个空列表并使用while循环填充列表:

    >>>
    >>> import random
    
    >>> numbers = []
    >>> while sum(numbers) <= 21:
    ...    numbers.append(random.randint(1, 10))
    
    >>> numbers
    [3, 10, 4, 7]
    
    >>> numbers[len(numbers) - 1]
    7
    
    >>> numbers[-1]  # A more Pythonic way to retrieve the last item
    7
    
    >>> numbers.pop(len(numbers) - 1)  # You can use numbers.pop(-1)
    7
    
    >>> numbers
    [3, 10, 4]

    您将随机数附加到列表中,直到总和超过21。当您生成随机数时,您将获得的输出会有所不同。要显示列表中的最后一个数字,请使用它len(numbers)并1从中减去,因为列表的第一个索引是0。Python 中的索引允许您使用索引-1来获取列表中的最后一项。因此,虽然您可以len()在这种情况下使用,但您不需要。

    您想删除列表中的最后一个数字,以便列表中所有数字的总和不超过21。您len()再次使用来计算列表中最后一项的索引,您将其用作列表方法的参数.pop()。即使在这种情况下,您也可以将其-1用作.pop()从列表中删除最后一项并返回它的参数。

    将列表分成两半

    如果需要将序列分成两半,则需要使用表示序列中点的索引。您可以使用len()来查找此值。在以下示例中,您将创建一个随机数列表,然后将其拆分为两个较小的列表:

    >>>
    >>> import random
    
    >>> numbers = [random.randint(1, 10) for _ in range(10)]
    >>> numbers
    [9, 1, 1, 2, 8, 10, 8, 6, 8, 5]
    
    >>> first_half = numbers[: len(numbers) // 2]
    >>> second_half = numbers[len(numbers) // 2 :]
    
    >>> first_half
    [9, 1, 1, 2, 8]
    >>> second_half
    [10, 8, 6, 8, 5]

    在定义 的赋值语句中first_half,使用表示从开头numbers到中点的项目的切片。您可以通过分解切片表达式中使用的步骤来计算切片表示的内容:

    1. 首先,len(numbers)返回整数10。
    2. 接下来,10 // 2在5使用整数除法运算符时返回整数。
    3. 最后,0:5是一个切片,表示前五个项目,其索引0为4。请注意,端点被排除在外。

    在下一个定义中second_half,在切片中使用相同的表达式。但是,在这种情况下,整数5表示范围的开始。切片现在5:代表从索引5到列表末尾的项目。

    如果您的原始列表包含奇数个项目,则其长度的一半将不再是整数。当您使用整数除法时,您将获得数字的下限。该列表first_half现在将比 少一项second_half。

    您可以通过创建一个包含 11 个数字而不是 10 个数字的初始列表来尝试这一点。结果列表将不再是一半,但它们将代表最接近拆分奇数序列的替代方法。

    将len()函数与第三方库一起使用

    您还可以将 Pythonlen()与来自第三方库的多种自定义数据类型结合使用。在本教程的最后一节中,您将了解 的行为如何len()取决于类定义。在本节中,您将查看使用len()来自两个流行的第三方库的数据类型的示例。

    NumPy 的 ndarray

    该NumPy的模块是在Python编程的所有定量应用的基石。该模块介绍了numpy.ndarray数据类型。这种数据类型以及 NumPy 中的函数非常适合数值计算,并且是其他模块中数据类型的构建块。

    在开始使用 NumPy 之前,您需要安装该库。您可以使用 Python 的标准包管理器pip,并在控制台中运行以下命令:

    $ python -m pip install numpy

    您已经安装了 NumPy,现在您可以从列表中创建一个 NumPy 数组并len()在该数组上使用:

    >>>
    >>> import numpy as np
    
    >>> numbers = np.array([4, 7, 9, 23, 10, 6])
    >>> type(numbers)
    <class 'numpy.ndarray'>
    
    >>> len(numbers)
    6

    NumPy 函数从您作为参数传递的列表中np.array()创建一个类型的对象numpy.ndarray。

    但是,NumPy 数组可以有多个维度。您可以通过将列表列表转换为数组来创建二维数组:

    >>>
    >>> import numpy as np
    
    >>> numbers = [
        [11, 1, 10, 10, 15],
        [14, 9, 16, 4, 4],
    ]
    
    >>> numbers_array = np.array(numbers)
    >>> numbers_array
    array([[11,  1, 10, 10, 15],
           [14,  9, 16,  4,  4]])
    
    >>> len(numbers_array)
    2
    
    >>> numbers_array.shape
    (2, 5)
    
    >>> len(numbers_array.shape)
    2
    
    >>> numbers_array.ndim
    2

    该列表numbers由两个列表组成,每个列表包含五个整数。当您使用此列表列表创建 NumPy 数组时,结果是一个包含两行五列的数组。当您将此二维数组作为参数传递给 中时,该函数返回数组中的行数len()。

    要获得两个维度的大小,您可以使用属性.shape,它是一个显示行数和列数的元组。您可以通过使用.shape和len()或通过使用 属性来获取 NumPy 数组的维数.ndim。

    一般来说,当你有一个任意维数的数组时,len()返回第一维的大小:

    >>>
    >>> import numpy as np
    
    >>> array_3d = np.random.randint(1, 20, [2, 3, 4])
    >>> array_3d
    array([[[14,  9, 15, 14],
            [17, 11, 10,  5],
            [18,  1,  3, 12]],
           [[ 1,  5,  6, 10],
            [ 6,  3,  1, 12],
            [ 1,  4,  4, 17]]])
    
    >>> array_3d.shape
    (2, 3, 4)
    
    >>> len(array_3d)
    2

    在本例中,您将创建一个三维数组,其形状为(2, 3, 4)其中每个元素都是1和之间的随机整数20。这次您使用该函数np.random.randint()创建了一个数组。函数len()返回2,这是第一个维度的大小。

    查看NumPy 教程:您在 Python 中进入数据科学的第一步,了解有关使用 NumPy 数组的更多信息。

    Pandas’ DataFrame

    pandas库中的DataFrame类型是另一种在许多应用程序中广泛使用的数据类型。

    在使用 pandas 之前,您需要在控制台中使用以下命令进行安装:

    $ python -m pip install pandas

    您已经安装了 pandas 包,现在您可以从字典创建一个 DataFrame:

    >>>
    >>> import pandas as pd
    
    >>> marks = {
        "Robert": [60, 75, 90],
        "Mary": [78, 55, 87],
        "Kate": [47, 96, 85],
        "John": [68, 88, 69],
    }
    
    >>> marks_df = pd.DataFrame(marks, index=["Physics", "Math", "English"])
    
    >>> marks_df
             Robert  Mary  Kate  John
    Physics      60    78    47    68
    Math         75    55    96    88
    English      90    87    85    69
    
    >>> len(marks_df)
    3
    
    >>> marks_df.shape
    (3, 4)

    字典的键是代表班级学生姓名的字符串。每个键的值是一个列表,其中包含三个主题的标记。当您从此字典创建 DataFrame 时,您可以使用包含主题名称的列表来定义索引。

    DataFrame 有三行四列。该函数len()返回 DataFrame 中的行数。该DataFrame类型还有一个.shape属性,您可以使用它来显示 DataFrame 的第一个维度表示行数。

    您已经了解了如何len()使用许多内置数据类型以及来自第三方模块的一些数据类型。在下一节中,您将学习如何定义任何类,以便将其用作len()Python 函数的参数。

    您可以在The Pandas DataFrame: Make Working With Data Delightful 中进一步探索 pandas 模块。

    使用len()用户定义的类

    当您定义一个类时,您可以定义的特殊方法之一是.__len__(). 这些特殊方法被称为 dunder 方法,因为它们在方法名称的开头和结尾都有双下划线。Python 的内置len()函数调用其参数的.__len__()方法。

    在上一节中,您已经看到了len()当参数是一个 pandasDataFrame对象时的行为。此行为由类的.__len__()方法决定DataFrame,您可以在以下模块的源代码中看到pandas.core.frame:

    class DataFrame(NDFrame, OpsMixin):
        # ...
        def __len__(self) -> int:
            """
            Returns length of info axis, but here we use the index.
            """
            return len(self.index)

    此方法使用 返回 DataFrame.index属性的长度len()。此 dunder 方法将 DataFrame 的长度定义为等于 DataFrame 中的行数,如 所示.index。

    您可以.__len__()通过以下玩具示例进一步探索dunder 方法。您将定义一个名为YString. 此数据类型基于内置字符串类,但类型对象YString赋予字母 Y 比所有其他字母更重要:

    # ystring.py
    
    class YString(str):
        def __init__(self, text):
            super().__init__()
    
        def __str__(self):
            """Display string as lowercase except for Ys that are uppercase"""
            return self.lower().replace("y", "Y")
    
        def __len__(self):
            """Returns the number of Ys in the string"""
            return self.lower().count("y")

    .__init__()方法YString使用.__init__()父str类的方法初始化对象。您可以使用函数来实现这一点super()。该.__str__()方法定义了对象的显示方式。函数str()、print()和format()都调用此方法。对于此类,您将对象表示为全小写字符串,但字母 Y 除外,它显示为大写。

    对于这个玩具类,您将对象的长度定义为字符串中字母 Y 的出现次数。因此,该.__len__()方法返回字母 Y 的计数。

    您可以创建一个类的对象YString并找到它的长度。用于上述示例的模块名称是ystring.py:

    >>>
    >>> from ystring import YString
    
    >>> message = YString("Real Python? Yes! Start reading today to learn Python")
    
    >>> print(message)
    real pYthon? Yes! start reading todaY to learn pYthon
    
    >>> len(message)  # Returns number of Ys in message
    4

    您YString从类型对象创建类型对象str并使用 显示对象的表示print()。然后将该对象message用作 的参数len()。这将调用类的.__len__()方法,结果是字母 Y 在 中的出现次数message。在这种情况下,字母 Y 出现了四次。

    YString该类不是一个非常有用的类,但它有助于说明如何自定义 的行为len()以满足您的需要。该.__len__()方法必须返回一个非负整数。否则,它会引发错误。

    另一个特殊的方法是.__bool__()方法,它决定了如何将对象转换为布尔值。该.__bool__()dunder方法通常不用于序列和集合定义。在这些情况下,该.__len__()方法确定对象的真实性:

    >>>
    >>> from ystring import YString
    
    >>> first_test = "tomorrow"
    >>> second_test = "today"
    
    >>> bool(first_test)
    True
    
    >>> bool(YString(first_test))
    False
    
    >>> bool(second_test)
    True
    
    >>> bool(YString(second_test))
    True

    变量first_string中没有 Y。如 的输出所示bool(),该字符串为真,因为它非空。但是,当您YString从此字符串创建类型的对象时,新对象是假的,因为字符串中没有 Y 字母。因此,len()返回0。相反,变量second_string确实包含字母 Y,因此字符串和类型的对象YString都是真值。

    您可以在 Python 3 中的面向对象编程 (OOP) 中阅读有关使用面向对象编程和定义类的更多信息。

    结论

    您已经探索了如何使用len()来确定序列、集合和其他同时包含多个项目的数据类型(例如 NumPy 数组和 Pandas DataFrames)中的项目数量。

    该len()Python函数是在许多程序中的关键工具。它的一些用途很简单,但正如您在本教程中看到的那样,此功能比最基本的用例要多得多。了解何时可以使用此功能以及如何有效地使用它将有助于您编写更整洁的代码。

    在本教程中,您学习了如何:

    • 找到的长度内置数据类型的使用len()
    • 使用len()与第三方数据类型
    • 提供用于支持len()与用户定义的类

    您现在已为理解该len()函数奠定了良好的基础。len()了解更多 about可以帮助您更好地理解数据类型之间的差异。您已准备好在len()您的算法中使用,并通过使用.__len__()方法增强某些类定义来改进它们的功能。

    点击关注,第一时间了解华为云新鲜技术~

    展开全文
  • 简单介绍Python中的len()函数的使用

    千次阅读 2020-11-23 13:16:46
    简单介绍Python中的len()函数的使用函数:len()1:作用:返回字符串、列表、字典、元组等长度2:语法:len(str)3:参数:str:要计算的字符串、列表、字典、元组等4:返回值:字符串、列表、字典、元组等元素的长度5...

    简单介绍Python中的len()函数的使用

    函数:len()

    1:作用:返回字符串、列表、字典、元组等长度

    2:语法:len(str)

    3:参数:str:要计算的字符串、列表、字典、元组等

    4:返回值:字符串、列表、字典、元组等元素的长度

    5:实例5.1、计算字符串的长度:

    >>> s = "hello good boy doiido"

    >>> len(s)

    21

    5.2、计算列表的元素个数:

    >>> l = ['h','e','l','l','o']

    >>> len(l)

    5

    5.3、计算字典的总长度(即键值对总数):

    >>> d = {'num':123,'name':"doiido"}

    >>> len(d)

    2

    5.4、计算元组元素个数:

    >>> t = ('G','o','o','d')

    >>> len(t)

    4

    时间: 2015-04-04

    函数:endswith() 作用:判断字符串是否以指定字符或子字符串结尾,常用于判断文件类型 相关函数:判断字符串开头 startswith() 一.函数说明 语法:string.endswith(str, beg=[0,end=len(string)])            string[beg:end].endswith(str) 参数说明: string: 被检测的字符串 str:      指定的字符或者子字符串(可以使用元组,会逐一匹配) beg:    设置字符串检测的起始位置(可

    filter(function or None, sequence),其中sequence 可以是list ,tuple,string.这个函数的功能是过滤出sequence 中所有以元素自身作... filter(function or None, sequence),其中sequence 可以是list ,tuple,string.这个函数的功能是过滤出sequence 中所有以元素自身作为参数调用function时返回True或bool(返回值)为True的元素并以列表返回. filter

    自python2.6开始,新增了一种格式化字符串的函数str.format(),可谓威力十足.那么,他跟之前的%型格式化字符串相比,有什么优越的存在呢?让我们来揭开它羞答答的面纱. 语法 它通过{}和:来代替%. "映射"示例 通过位置 In [1]: '{0},{1}'.format('kzc',18) Out[1]: 'kzc,18' In [2]: '{},{}'.format('kzc',18) Out[2]: 'kzc,18' In [3]: '{1},{0},{1}'.fo

    本文实例讲述了python中Genarator函数用法.分享给大家供大家参考.具体如下: Generator函数的定义与普通函数的定义没有什么区别,只是在函数体内使用yield生成数据项即可.Generator函数可以被for循环遍历,而且可以通过next()方法获得yield生成的数据项. def func(n): for i in range(n): yield i for i in func(3): print i r=func(3) print r.next() print r.next

    pprint – 美观打印 作用:美观打印数据结构 pprint 包含一个"美观打印机",用于生成数据结构的一个美观视图.格式化工具会生成数据结构的一些表示,不仅可以由解释器正确地解析,而且便于人类阅读.输出尽可能放在一行上,分解为多行时则需要缩进. 以下实例用用到的data包含一下数据 data = [(1,{'a':'A','b':'B','c':'C','d':'D'}), (2,{'e':'E','f':'F','g':'G','h':'H', 'i':'I','j':'J',

    函数:string.join() Python中有join()和os.path.join()两个函数,具体作用如下:     join():    连接字符串数组.将字符串.元组.列表中的元素以指定的字符(分隔符)连接生成一个新的字符串     os.path.join():  将多个路径组合后返回 一.函数说明 1.join()函数 语法:  'sep'.join(seq) 参数说明 sep:分隔符.可以为空 seq:要连接的元素序列.字符串.元组.字典 上面的语法即:以sep作为分隔符,将s

    函数:split() Python中有split()和os.path.split()两个函数,具体作用如下: split():拆分字符串.通过指定分隔符对字符串进行切片,并返回分割后的字符串列表(list) os.path.split():按照路径将文件名和路径分割开 一.函数说明 1.split()函数 语法:str.split(str="",num=string.count(str))[n] 参数说明: str:   表示为分隔符,默认为空格,但是不能为空('').若字符串中没有分

    详解python中executemany和序列的使用方法 一 代码 import sqlite3 persons=[ ("Jim","Green"), ("Hu","jie") ] conn=sqlite3.connect(":memory:") conn.execute("CREATE TABLE person(firstname,lastname)") conn.executeman

    具体代码如下所示: from operator import itemgetter #itemgetter用来去dict中的key,省去了使用lambda函数 from itertools import groupby #itertool还包含有其他很多函数,比如将多个list联合起来.. d1={'name':'zhangsan','age':20,'country':'China'} d2={'name':'wangwu','age':19,'country':'USA'} d3={'nam

    1.函数的创建 def fun(): #定义 print('hellow') #函数的执行代码 retrun 1 #返回值 fun() #执行函数 2.函数的参数 普通参数 :要按照顺序输入参数 def fun(a,b,c): print(a) print(b) print(c) return a fun(11,22,33) #输出:11 #输出:22 #输出:33 指定参数:输入参数时可以不按照顺序输入 def fun(a,b,c): print(a) print(b) print(c) re

    python对函数库的引用方式 1.import <库名> 例如:import turtle 如果需要使用库函数中的函数,需要使用:<库名>.<函数名> 例如: import turtle turtle.fd(100) 2.from <库名> import <函数名> from <库名> import  *, 使用这种方式时,直接使用<函数名> 例如:  >>>from turtle import *

    在Python中使用json的时候,主要也就是使用json模块,json是以一种良好的格式来进行数据的交互,从而在很多时候,可以使用json数据格式作为程序之间的接口. #!/usr/bin/env python #-*- coding:utf-8 -*- import json print json.load(open('kel.txt')) #deserialize string or unicode to python object j = json.loads(open('kel.txt

    函数是有组织的,可重复使用的代码,用于执行一个单一的,相关的动作的块.函数为应用程序和代码重用的高度提供了更好的模块. 正如我们知道的,Python的print()等许多内置函数,但也可以创建自己的函数.这些函数称为用户定义函数. 定义一个函数 可以定义函数,以提供所需的功能.下面是简单的规则来定义Python函数. 函数块以开始关键字def后跟函数名和括号中(()). 任何输入参数或参数应该放在这些括号内.还可以定义这些括号内的参数. 函数的第一个语句可以是??一个可选的声明 - 该函数或文档

    在基于互联网的应用中,程序经常需要自动地发送电子邮件.如:一个网站的注册系统会在用户注册时发送一封邮件来确认注册:当用户忘记登陆密码的时候,通过邮件来取回密码.smtplib模块是python中smtp(简单邮件传输协议)的客户端实现.我们可以使用smtplib模块,轻松的发送电子邮件.下面的例子用了不到十行代码来发送电子邮件: #coding=gbk import smtplib smtp = smtplib.SMTP() smtp.connect("smtp.yeah.net",

    Python编程语言允许在一个循环内嵌套另一个循环.下面将介绍几个例子来说明这一概念. 语法 在Python中嵌套循环语句的语法如下: for iterating_var in sequence: for iterating_var in sequence: statements(s) statements(s) Python编程语言允许在一个循环内嵌套另一个循环.下面将介绍几个例子来说明这一概念. 语法 在Python中嵌套循环语句的语法如下: for iterating_var in seq

    threading.Thread Thread 是threading模块中最重要的类之一,可以使用它来创建线程.有两种方式来创建线程:一种是通过继承Thread类,重写它的run方法:另一种是创建一个threading.Thread对象,在它的初始化函数(__init__)中将可调用对象作为参数传入.下面分别举例说明.先来看看通过继承threading.Thread类来创建线程的例子: #coding=gbk import threading, time, random count = 0 cl

    展开全文
  • 报错:ERROR 1406 (22001): Data Too Long, field len 30, data len 48 问题的背景大概是这样子: 1、TiDB4.0分布式数据库系统,去information_schema.TABLES copy一份表结构,然后建一个一模一样的空表到一个...
  • python的len函数什么意思

    千次阅读 2021-07-24 02:25:06
    python的len函数用于返回字符串、列表、字典、元组等长度,语法为【len(str)】,其中str是要计算的字符串、列表、字典、元组等。MKU少儿编程网-https://www.pxcodes.comMKU少儿编程网-https://www.pxcodes.com本教程...
  • 在建立时序模型时,若使用keras,我们在Input的时候就会在shape内设置好sequence_length(后面简称seq_len),接着便可以在自定义的data_generator内进行个性化的使用。这个值同时也就是time_steps,它代表了RNN内部的...
  • len函数python_Python len()函数

    万次阅读 2020-07-11 06:44:52
    len函数pythonPython len() function returns the length of the object. Generally, len() function is used with sequences (string, tuple) and collections (dict, set) to get the number of items. Python len...
  • len()函数

    千次阅读 2022-01-25 22:47:31
    简单了解 len( )函数,python笔记
  • Python len函数用法

    千次阅读 2020-11-22 20:47:54
    1在Python中,要知道一个字符串有多少个字符(以获得字符串的长度),或者一个字符串需要多少字节,可以使用len函数。len函数的基本语法格式如下:2其中string用于指定要计算长度的字符串。例如,定义一个内容字符串...
  • Python 字典(Dictionary) len()方法

    千次阅读 2021-01-14 03:49:16
    Python 字典(Dictionary) len()方法描述Python 字典(Dictionary) len() 函数计算字典元素个数,即键的总数。高佣联盟www.cgewang.com语法len()方法语法:len(dict)参数dict -- 要计算元素个数的字典。返回值返回字典...
  • C语言 int len( ) 求大神解释

    千次阅读 2021-05-19 05:51:27
    C语言 int len( ) 求大神解释 sen3830058 LV12 2013-03-13 #includeint len(char s[]){int n=0;while(s[n]!='\0'){n++;}return n;}int main(){char s1[80],s2[80],s3[160],i,j=0;printf("S1=");scanf("%s",s1);...
  • Python len()函数讲解

    千次阅读 2022-01-10 10:50:44
    带着这个问题我们来学习今天讲解的函数,len()函数,在Python中我们可以通过len()函数去解决上面的问题 len()函数基本语法 len(String) ()里的 string 用于指定要进行长度统计的字符串 举个例子,我们定义...
  • Python len()函数

    千次阅读 2020-12-29 15:49:09
    当参数是非序列对象时:注意事项描述len函数返回序列类型对象(字符或字符串、元组、列表和字典等)的项目个数(长度)。语法len(object)函数返回一个大于0的int型整数,表示对象的项目个数。参数说明名称说明备注...
  • 由于上面已经讲了思路,这里就直接看公式的截图: 公式讲解:C2中的公式:=LEN(A2)-LEN(SUBSTITUTE(A2,B2,"")) LEN(A2) 就是原字符串的长度; SUBSTITUTE(A2,B2,"") 就是把A2单元格中的B2单元格内的字符替换为了...
  • Explain执行计划key_len详解

    千次阅读 2020-11-05 01:06:58
    key_len表示使用的索引长度,key_len可以衡量索引的好坏,key_len越小索引效果越好,那么key_len的长度是如何计算的? 常见的列类型长度计算: 列类型 是否为空 长度 key_len 备注 tinyint 允许...
  • b_list = [’Python’,’Swift’,’Ruby’,’Go’,’Kotlin’,'Erlang'] b_list.sort(key=len) print(b_list) # [’Go’,’Ruby’,’Swift’,'Erlang’,’Kotlin’,’Python']
  • 总结Python中len()函数的使用实例

    千次阅读 2020-12-28 23:59:31
    这篇文章主要简单介绍了Python中的len()函数的使用,包括在四种情况下的使用小例子,是Python学习当中的基础知识,需要的朋友可以参考下函数:len()1:作用:返回字符串、列表、字典、元组等长度2:语法:len(str)3:...
  • Pandas str.len()方法用于确定Pandas系列中每个字符串的长度。此方法仅适用于一系列字符串。由于这是一个字符串方法,因此必须在每次调用.str之前添加前缀。否则会产生错误。用法:Series.str.len()返回类型:系列整...
  • Python函数精解:len()函数

    千次阅读 2020-11-22 14:32:59
    描述len函数返回序列类型对象(字符或字符串、元组、列表和字典等)的项目个数(长度)。语法len(object)函数返回一个大于0的int型整数,表示对象的项目个数。实例1. 当参数是序列类型对象(字符、字符串、列表、...
  • python中len函数 Python len()函数 (Python len() function) len() function is a library function in Python, it is used to get the length of an object (object may a string, list, tuple, etc). It accepts ...
  • python的len函数为什么报错

    千次阅读 2020-12-16 05:20:28
    len函数返回序列类型对象(字符或字符串、元组、列表和字典等)的项目个数(长度)。语法len(object)函数返回一个大于0的int型整数,表示对象的项目个数。参数说明举例1. 当参数是序列类型对象(字符、字符串、列表、元组...
  • MySQL索引key_len

    千次阅读 2019-08-03 19:36:51
    在查看MYSQL执行计划的时候,有一列 key_len ,我们可以用它来判断使用了几个索引,我们使用最常用的utf-8编码按如下几点可以进行判断: 1、字段类型 int为4个,date为3,datetime为4,char(n)为3n,varchar(n)为3n+...
  • python中len什么意思?

    万次阅读 多人点赞 2021-01-13 14:41:52
    函数:len() 1:作用:返回字符串、列表、字典、元组等长度 2:语法:len(str) 3:参数: str:要计算的字符串、列表、字典、元组等 4:返回值:字符串、列表、字典、元组等元素的长度 5:实例 5.1、计算字符串的...
  • Go 切片Slice的长度len与容量cap

    万次阅读 多人点赞 2019-03-24 19:14:57
    0x00 简介 Go 语言之旅示例 切片的长度与容量 切片拥有长度和容量。...切片 s 的长度和容量可通过表达式 len(s) 和 cap(s) 来获取。 package main import "fmt" func main() { s := []int{2, 3, 5, 7, 11, 13}...
  • python之__len__()

    千次阅读 2020-05-08 15:35:49
    在List一节中,我们要求List列表中有多少个元素时,直接用len(L)即可获得列表元素个数。那现在我想求类中实例的个数,用len()函数没有效果,那怎么办呢?这就需要我们今天即将介绍的__len__()特殊方法来解决了。 ...
  • 【Python中字典的len()方法】

    千次阅读 2021-11-02 22:30:29
    print(len(dic1)) A 6 B 3 C 1 D 4 问题解析 1.len()方法返回对象(字符、列表、元组等)长度或项目个数。 2.len(dic)计算字典dic的元素个数(长度),即键的总数。字典中每一个元素是一个键值对,共有4个...
  • sql中len函数LEN() and ROUND() are scalar functions which return a single value, based in the input value. LEN()和ROUND()是标量函数,它们基于输入值返回单个值。 LEN() function is used to find the ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,602,798
精华内容 1,041,119
关键字:

len