我想通过使用list-comprehentions在单行中编写一个4-5行代码。但这里的问题是,我不能使用插入功能,所以即时通讯想知道是否有解决这个问题的方法?python插入函数列表comprehentions
原始代码:
def order(text):
text = text.split()
for x in text:
for y in x:
if y in ('1','2','3','4','5','6','7','8','9'):
final.insert(int(y)-1, x)
return final
是我迄今为止尝试:
return [insert(int(y)-1, x) for x in text.split() for y in x if y in ('1','2','3','4','5','6','7','8','9')]
但我已经遇到了以下错误:
NameError:全局名称 '插入' 没有定义
我试图使用insert因为任务是使用每个单词中显示的数字重新排列列表中的项目。
,比如我有is2 Th1is T4est 3a
作为输入,它应该站出来为:Th1is is2 3a T4est
没有插入功能。 'final.insert'是一个*方法*,并且不显示实际是什么'final'(大概是一个列表)。还要注意,你不应该使用列表解析的副作用 - 'list.insert'返回'None',我怀疑你想要的列表。 – jonrsharpe
1.什么是'final'? 2.列举解释_build list-on-the-fly_,所以你现在正在考虑将字段插入_nowhere_,因为还没有创建列表。 3.是的,没有标准函数称为“插入”,为什么你期望它存在呢? – ForceBru
@ForceBru Final是我在原始代码中使用的列表。有没有办法为这种列表理解运行该表达式?像“自插入” –