【发布时间】:2021-07-08 06:23:01
【问题描述】:
我正在尝试获取字典中最左边的数字和非数字列表的索引。 我在下面尝试了以下操作,但在第一个 for 循环中它没有给我正确的索引,第二个 for 循环似乎没有为 ind_num 变量分配任何东西。 我的错误在哪里?
感谢您的帮助!
dic = {"hello": 1, "column": [[1, float], [3, str], [4, int], [2, str]]}
columns = dic["column"]
for col in columns:
if col[1] != [float, int]:
ind_non = columns.index(col) # getting the index for the first non-numerical column
break
for col in columns:
if col[1] == [float, int]:
ind_num = columns.index(col) # getting the index for the first numerical column
break
print(ind_non)
print(ind_num)
【问题讨论】:
-
if col[1] != [float, int]:用你自己的话来说,对于给定的输入,你期望col[1]有什么值?当您将这些与[float, int]进行比较时,您希望应用什么逻辑?例如,您认为int != [float, int]的结果应该是什么?为什么?另外,您想通过存储这种数据来解决什么问题?[3, str]这样的值对您和您的程序实际上意味着是什么? -
你想在 ind_non 和 num 中显示什么? [1,float] 这里是 1 还是这个列表在列中的索引?
-
@Neeraj 列中列表的索引
-
@KarlKnechtel 我希望
int == [float, int]给我 TRUE。我希望 col[1] 访问列表的第二个值,即数据类型。目标是获取列中列表的索引,以便以后可以将此索引用于其他操作。 -
“我希望 int == [float, int] 给我 TRUE。”好吧,但是为什么?用你自己的话来说,
==是什么意思?
标签: python list dictionary indexing boolean