我一直在写一个文字冒险游戏,有一次我需要从一个列表中取出一个由用户输入的项目并将其移动到另一个列表。具体来说,除了以下内容之外,当您知道项目名称时,是否有任何方法可以获取项目的索引:list_one=["itemone","itemtwo"]index_one=list_one.index("itemone")我在脚本中使用的代码是:player.items.append(start_room.items.pop(start_room.items.index(next)))接下来是输入,这看起来很乱。如果有更简单的方法来解决这个问题,请告诉我。谢谢! 最佳答
获取列表haystack和needleshaystack=['a','b','c','V','d','e','X','f','V','g','h']needles=['V','W','X','Y','Z']我需要生成一个索引列表,其中needles的任何元素出现在haystack中。在这种情况下,这些索引是3、6和8,因此result=[3,6,8]ThisquestionIfound非常相似,用优雅地解决了result=[haystack.index(i)foriinneedles]不幸的是,在我的例子中,这个解决方案给出了ValueError:'W'isnotinlist。这是因为
我有一份人员名单:[{'name':'John','wins':10},{'name':'Sally','wins':0},{'name':'Fred','wins':3},{'name':'Mary','wins':6}]我正在使用名称列表(['Fred','Mary','Sally'])添加胜利。我不知道这个名字是否已经在人员列表中,如果没有,我需要插入一条新记录。目前我正在做以下事情:name='John'person=Nonepidx=Noneforpinpeople_list:ifp['name']==name:person=ppidx=people_list.index(p
我需要获取任意大小的numpy.ndarray的第一个和最后一个维度。如果我有shape(A)=(3,4,4,4,4,4,4,3)我的第一个想法是执行result=shape(A)[0,-1]但这似乎不适用于元组,为什么不呢??有没有比更简洁的方法s=shape(A)result=(s[0],s[-1])感谢您的帮助 最佳答案 不知道怎么回事(s[0],s[-1])另一种选择是使用operator.itemgetter():fromoperatorimportitemgetteritemgetter(0,-1)(s)不过,我不认为这
我想知道如何对python字典中的键执行某种索引。该词典包含约。400,000个项目,所以我尽量避免线性搜索。基本上,我试图找出userinput是否在任何字典键内。forkeysindict:ifuserinputinkeys:DoSomething()break这将是我正在努力做的一个例子。有没有办法以更直接的方式进行搜索,而无需循环?或者什么是更有效的方法。澄清:userinput不是关键的确切内容,例如userinput可能是log,而关键是logfile编辑任何可以在搜索之前完成的列表/缓存创建、预处理或组织都是可以接受的。唯一需要快速的是搜索key。
鉴于pandas0.20.0和deprecationof.ix的更新,我想知道使用剩余的.loc和.iloc获得相同结果的最有效方法是什么。我刚刚回答了thisquestion,但第二个选项(不使用.ix)似乎效率低下且冗长。片段:printdf.iloc[df.loc[df['cap'].astype(float)>35].index,:-1]当同时使用条件和索引位置过滤时,这是正确的方法吗? 最佳答案 您可以通过将特定索引与位置切片来获取所需的索引值,从而留在单个loc的世界中。df.loc[df['cap'].astype(f
有没有办法在添加新行时设置一个选项来自动增加pandas.DataFrame的索引,或者定义一个函数来管理新索引的创建? 最佳答案 当append时,您可以设置ignore_index=True-ing:In[1]:df=pd.DataFrame([[1,2],[3,4]])In[2]:row=pd.Series([5,6])In[3]:df.append(row,ignore_index=True)Out[3]:01012134256 关于python-PandasDataFrame索
我仔细阅读了很多,但对于我试图理解的概念,我没有一个明确的答案。在Python中,如果我取一个列表,例如:L1=['muffins','brownies','cookies']然后尝试使用以下代码替换指向列表中对象的第一个指针,即“muffins”:L1[0:1]='cake'我会得到一个列表L1:['c','a','k','e','brownies','cookies']然而,如果我采用相同的列表并执行操作(现在使用字符串蛋糕中的4个元素):L1[0:4]=['cake']#presumably,it'snowpassingthestringcakewithinalist?(itpa
在包含多个字符的列表中查找指定字符的索引的最佳方法是什么? 最佳答案 >>>['a','b'].index('b')1如果列表已经排序,你当然可以做得比线性搜索更好。 关于python-获取python列表中的字符索引,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/3847472/
我对此感到困惑,这很简单,但我没有立即在StackOverflow上找到答案:df.set_index('xcol')使列'xcol'成为索引(当它是df的列时)。但是,df.reindex(myList)从数据帧外部获取索引,例如,从我们在别处定义的名为myList的列表中获取索引。但是,df.reindex(myList)也会将值更改为NA。一个简单的替代方法是:df.index=myList我希望这篇文章能澄清它!也欢迎对这篇文章进行补充! 最佳答案 您可以在一个简单的示例中看到差异。让我们考虑这个数据框:df=pd.Data