本帖最后由 wkdxz 于 2022-11-26 10:27 编辑
今天逛其他论坛,遇到这样的用法,之前一直没用过,看起来似懂非懂。
请懂的兄弟帮看下,是什么操作(个人感觉像是解包,但又没听谁讲过类似方法)
A代码
a = [['X', 'Y', 'Z']]
[a] = a
print(a)
A输出
['X', 'Y', 'Z']
以上是我见到的写法
而我常用的写法是下面这样
def allToList(ls):
bigList = []
for i in ls:
if isinstance(i, (list, tuple)):
bigList.extend(i)
else:
bigList.append(i)
return bigList
a = [['X', 'Y', 'Z'], [1, 2, 3], 4, 5, (9, 1)]
print(allToList(a))
输出
['X', 'Y', 'Z', 1, 2, 3, 4, 5, 9, 1]
结语:
虽然A代码 的写法只能处理一个列表,但确实很简洁啊,哪位兄弟知道原理,给讲解下呗
刚又试了,甚至可以这样写:
a = [[['X', 'Y', 'Z']]]
[[a]] = a
print(a)
简直是丧心病狂!!
|