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])