python - 如何使用 len 给我列表中的元素数量(而不是字母数量)?
问题描述
我一直在用 len 和 tuples 遇到这个问题。我想找出一个元组中有多少个元素。到目前为止,它适用于具有至少两个元素的元组。
例如:
> data = “cat”, “dog”
> len(data)
2
这将返回 2。但如果我只有一个元素
> data = “cat”
> len(data)
3
这将返回 3,因为它计算字母。我希望它返回 1,因为数据中有一个字符串。
关于我如何做到这一点的任何想法?谢谢。
解决方案
这个问题是因为您没有正确声明元组,当您只需要元组中的一个项目时,您需要使用tup = ('cat',)
尾随逗号,而没有尾随逗号 python 解释您正在谈论一个字符串,因此返回该字符串的长度细绳。
例子:
元组:
tup = ('cat',) # notice the trailing comma meaning a tuple
print(len(tup)) # 1
print(type(tup)) # <class 'tuple'>
细绳:
tup = ('cat') # notice no trailing comma
print(len(tup)) # 3
print(type(tup)) # <class 'str'>
推荐阅读
- python - 使用 Bokeh 和 Python 创建集群可视化;选择输入更改时绘图不更新
- python - Python Requests requests.exceptions.SSLError: [Errno 8] _ssl.c:727: EOF 发生违反协议
- angular - 如何解决角度 12 中的“TypeError:无法读取 null 的属性“值”错误?
- r - googledrive4:如何过滤运球(drive-tibble),将条件应用于tibble中的嵌套列表?
- docker - 使用 Dockerfile 只安装需要的扩展(php8.0-apache)?
- javascript - 我无法启动服务器 nodejs
- reactjs - 格式化日期momentjs
- bash - 如何在监视命令中保留嵌套命令替换
- scala - 在没有 bintray 的情况下使用 mfglabs commons-aws-sqs 和 dwhjames 库
- dns - 如何将我在 AWS 中的子域路由到 Zendesk