Python 如何使用列表中的元素作为单独列表的索引?

Python 如何使用列表中的元素作为单独列表的索引?,python,Python,我想将不是字符串的元素从嵌套列表提取到新列表中。有什么方法可以使用列表中的元素作为原始嵌套列表的索引吗?我知道您希望从pos列表中删除字符串,并从其中的数字生成一个简单的列表。您可以尝试以下方法: v=[] #在pos中的每个项目上循环 对于pos中的项目: #循环项目中的每个子项 对于项目中的子项目: #忽略字符串子项的条件 如果类型(子项)!=str: v、 追加(分项) #获得v中的最大数 最大值=最大值(v) 这不使用索引,但它解决了您的问题,请让我知道这是否有帮助!:D谢谢 试一试,

我想将不是字符串的元素从嵌套列表提取到新列表中。有什么方法可以使用列表中的元素作为原始嵌套列表的索引吗?

我知道您希望从
pos
列表中删除
字符串
,并从其中的数字生成一个简单的列表。您可以尝试以下方法:

v=[]
#在pos中的每个项目上循环
对于pos中的项目:
#循环项目中的每个子项
对于项目中的子项目:
#忽略字符串子项的条件
如果类型(子项)!=str:
v、 追加(分项)
#获得v中的最大数
最大值=最大值(v)

这不使用索引,但它解决了您的问题,请让我知道这是否有帮助!:D谢谢

试一试,如果指定对象是此处指定类型的
int

pos = [
    ['string1', 1, 2, 3, 'string2', 4, 5],
    ['string1', 0, 0, 0, 'string2', 4, 5]
       ]

strings = [0, 4]
not_strings = [1, 2, 3, 5, 6]

v = []
for items in pos:
    for i in not_strings:
        v.append( (items[i]) )

>>> v.append( max(items[i]) )
TypeError: 'float' object is not iterable

你想用“max”实现什么?运行你的代码,我得到
v
作为
[1,2,3,4,5,0,0,0,4,5]
我想这是我的错别字。当我的函数返回错误时,错误消息直接从复制。即便如此,我还是希望在这行后面加上v=[1,2,3,4,5],我不明白。如果你的问题只是一个打字错误,你应该删除这个问题。如果你还有问题,你应该更新问题以澄清它。正如马克·迈耶指出的,显然我已经成功地回答了我原来的问题。那我应该删除这个帖子吗?我想你不是指
string
-也许是
str
not_string = []

for v in pos:
    not_string.extend([x for x in v if isinstance(x, int)])

max([1, 2, 3, 4, 5, 0, 0, 0, 4, 5])