【发布时间】:2020-10-05 08:23:07
【问题描述】:
我正在尝试查找列表中的 len,但是当我这样做时,它会给出不正确的结果。不知道为什么或如何解决它。任何建议我的代码可能有什么问题?从照片中您可以从突出显示的行中看到它显示计数为 2,但元素超过 2 个
前 5 行的项目:
1. ['Unknown,email,transactional,Email - Transactional', 'Unknown,email,transactional,Email - Transactional', 'inspiratie,email,nieuwsbrief,E-mail - Nieuwsbrief', 'inspiratie,email,nieuwsbrief,E-mail - Nieuwsbrief']
- ['(未设置),email,transactional,Email - Transactional', '未知,email,transactional,Email - Transactional', '(direct),(none),(not set),Direct']李>
- ['Unknown,email,transactional,Email - Transactional', 'Unknown,email,transactional,Email - Transactional']
- ['Unknown,email,transactional,Email - Transactional', 'Unknown,email,transactional,Email - Transactional']
- ['未知,电子邮件,交易,电子邮件 - 交易','未知,电子邮件,交易,电子邮件 - 交易','未知,电子邮件,交易,电子邮件 - 交易','未知,电子邮件,交易,电子邮件 - 交易', '(未设置),email,transactional,Email - Transactional']
代码:
def calc(path):
return len(path)
df_journey['path_count']= df_journey.apply(lambda x: calc(x.path), axis=1)
【问题讨论】:
-
请添加代码sn-p +相关数据而不是图片。另外 - 请显示一个完整的数据示例 - 图片没有显示列表的所有值,所以我们怎么能看到长度不正确?
-
通过您发布的数据示例+图片 - 似乎项目数量是正确的。对于选定的行(第三) - 列表中只有 2 个元素
-
但它应该计算它们中的每一个,例如,Unknown=1、email=2 等并将总数相加。所以我不明白为什么它没有像我想象的那样计算列表中的每个元素
-
@GiladGreen 我现在明白你的意思了,是的,它是正确的。但我想计算每个单独的元素。有没有不同的方法来利用 len 函数来做到这一点,还是我需要一种新的方法,比如 for 循环?
标签: python list string-length