有高人吗?求助,谢谢
本帖最后由 兰竹皋 于 2020-5-29 12:34 编辑想让member与inse元素相互交叉排列形成一个新列表:比如:['小甲鱼',88,....]
请问:图片中列表扩展式哪里有问题(编译时显示else处出现问题),
但按照if else 三元语句感觉没问题,
又应该怎么改呢?(else 后有个x,这里没剪切) 你这是 列表推导式 和三元表达式 混着用了 你是想达到什么效果,看不懂你写的代码 这样?
mamber = ['小甲鱼', '黑夜', '迷途', '怡静', '秋舞斜阳']
inde =
a = if isinstance(x, int) else 本帖最后由 兰竹皋 于 2020-5-29 12:30 编辑
Twilight6 发表于 2020-5-29 11:49
你是想达到什么效果,看不懂你写的代码
想让member与inse元素相互交叉排列形成一个新列表:比如:['小甲鱼',88,....]
分开写很简单,我是想提高对列表推导式与三元的认知才这么写的,请问,它们两个不能一起用吗?
有什么简单方法能实现吗?还是只能分开写?
本帖最后由 兰竹皋 于 2020-5-29 12:33 编辑
KevinHu 发表于 2020-5-29 12:19
这样?
谢谢,是这个意思
但这么写还是会报错,会显示x变量没有定义;
再者这么分开,总感觉就不是一个列表了 兰竹皋 发表于 2020-5-29 12:26
谢谢,是这个意思
但这么写还是会报错,会显示x变量没有定义;
再者这么分开,总感觉就不是一个列表了
x确实没有定义,要在前面加上一个定义或输入的过程
这个是三元操作符,不是列表,只是里面的某一个操作数是一个列表推导式 兰竹皋 发表于 2020-5-29 12:25
想让member与inse元素相互交叉排列形成一个新列表:比如:['小甲鱼',88,....]
分开写很简单,我是想 ...
你这样好像不能这么写,乖乖用循环吧{:10_250:} 兰竹皋 发表于 2020-5-29 12:26
谢谢,是这个意思
但这么写还是会报错,会显示x变量没有定义;
再者这么分开,总感觉就不是一个列表了
用数组试试 KevinHu 发表于 2020-5-29 12:45
你这样好像不能这么写,乖乖用循环吧
谢谢 xiaosi4081 发表于 2020-5-29 12:47
用数组试试
。。。数组。。。
什么意思? xiaosi4081 发表于 2020-5-29 12:47
用数组试试
Python 没有数组概念,除非 numpy 之类的库 兰竹皋 发表于 2020-5-29 12:25
想让member与inse元素相互交叉排列形成一个新列表:比如:['小甲鱼',88,....]
分开写很简单,我是想 ...
不能这样混着用吧
三元运算符是条件成立执行前面的操作 不成立执行else的操作 而列表推导式是加将 后面符合条件的加入列表 这就冲突了 def flatten(iterable, /):
for i in iterable:
if hasattr(i,'__iter__'):
yield from flatten(i)
else:
yield i
#member=?
#inse=?
a=list(flatten(zip(member,inse))) 兰竹皋 发表于 2020-5-29 12:58
。。。数组。。。
什么意思?
球球了,给个最佳吧{:10_278:} 永恒的蓝色梦想 发表于 2020-5-29 13:04
谢谢,
emmm.....
(其实分开写,方法还是不少的,我是想用一句话,不创新函数来写,看看能不能成功)
不过,这种消元组括号的方式,真。。。。高端?
现在我的水平没看懂。。。 兰竹皋 发表于 2020-5-29 13:26
谢谢,
emmm.....
(其实分开写,方法还是不少的,我是想用一句话,不创新函数来写,看看能不能成功)
...
a=这样就是一句话,有意义么? 兰竹皋 发表于 2020-5-29 13:26
谢谢,
emmm.....
(其实分开写,方法还是不少的,我是想用一句话,不创新函数来写,看看能不能成功)
...
不过我还是要求个最佳{:10_278:} 本帖最后由 兰竹皋 于 2020-5-29 13:39 编辑
永恒的蓝色梦想 发表于 2020-5-29 13:28
这样就是一句话,有意义么?
谢谢,原来还可以这么用,(虽然还是用了别的函数)
是有启迪意义的(毕竟我刚学,见识太少了)
话说,既然能这样,你14#又写一个函数是干什么。。。。 所以,总得来说可以一句话这么写:
member = for j in i]
哈哈哈
页:
[1]
2