繁体   English   中英

如何理解列表中的索引

[英]how to understand indexes in lists

我是 Python 新手(3 周)我正在处理这个列表a = ["cars", "house", "boat", "family", 5]当我输入以下内容时a = ["cars", "house", "boat", "family", 5]我的困惑开始了: a[0] == str返回Falsea[0] == "cars"但是当我写type(a[0])我确实收到 str 请让我理解

同样在上面给定的列表中,如何仅打印字符串并排除整数或浮点数?

a[0]"cars" ,它不等于str

>>> a[0]
'cars'
>>> a[0] == "cars"
True
>>> "cars" == str
False

如果要测试a[0]类型是否为str ,可以调用type函数,或者使用isinstance

>>> type(a[0]) == str
True
>>> isinstance(a[0], str)
True

所以你犯了一个参考点错误:你想测试事物的类型,但你实际上测试了事物本身。

在人类语言中,您可以说“我问过服务台”之类的话,但在编程语言中,您必须准确无误:您问是服务台的人,而不是实际的服务台。

要走的路通常是检查isinstance(...)并形成一个新列表:

a = ["cars", "house", "boat", "family", 5]
only_strings = [item for item in a if isinstance(item, str)]

print(only_strings)

这评估为 True

type(a[0]) == str

这也真

a[0] == "cars"

说明:a[0] 返回列表的第一个元素,即“cars”。

type(a[0]) 返回第一个元素的类型。 第一个元素是“cars”,所以 type("cars") 是 str。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM