[英]how to understand indexes in lists
我是 Python 新手(3 周)我正在处理这个列表a = ["cars", "house", "boat", "family", 5]
当我输入以下内容时a = ["cars", "house", "boat", "family", 5]
我的困惑开始了: a[0] == str
返回False
或a[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.