在Python中同时定义多个变量

2024-04-19 11:04:37 发布

您现在位置:Python中文网/ 问答频道 /正文

对于Python列表中的每个对象,我想定义一个整数,它是对象的第一个索引:

firstindex( some object ) = mylist.index( some object)

如何同时对所有对象进行这样的定义?你知道吗

我试过这样做:

firstindex = []
i=1

while i < 100 :
    firstindex.append( mylist.index("i") )
    i=i+1

但它告诉我“我”不在名单上。但是,列表的形式为[1,1,1,1,1,2,2,2,2,2,3,3,3,…]


Tags: 对象列表index定义object整数some形式
3条回答

那是因为函数列表.索引(obj)返回列表中对象的索引。你知道吗

>>> ["foo", "bar", "baz"].index("bar")
1

列表"mylist"是一个对象列表,它可能不包含索引"i",也就是一个字符串

您应该将代码更改为以下内容:

firstindex = []
i= 1

while i < 100 :
    firstindex.append( mylist.index(str(i)) )
    i=i+1

您以前的代码在列表中搜索值为“i”的项,该值是字符串“i”。而是要搜索变量i的值,即字符串“1”,然后是“2”,然后是“3”,依此类推。所以你应该简单地搜索str(i)的索引。你知道吗

Str(i)返回i中值的字符串

你为什么不直接用措辞呢?你知道吗

d = dict() # or d = {}
for i in range(100):
   d['firstindex_'+str(i)] = ""

这将创建一个大小为100的dictionary,所有值都是空字符串。您可以通过d['firstindex\u 0']到d['firstindex\u 99']访问它。你知道吗

相关问题 更多 >