>>>t= ["dddd","a","bb","cccc"]
>>>t.sort(key=lambda s:len(s))
>>>print t
输出:
['a', 'bb', 'dddd', 'cccc']
列表t作为input.t根据长度用第二行代码进行排序。最后我打印出来。 所以..现在我想要输入,排序列表并打印它.. 所有在一个行代码(如果可能)。 我尝试过其他方式,比如..
>>> print input().sort(key=lambda s:len(s))
["aaa","bb","cccc","q"] # input
None #output
- i think it take return value of input(),i.e is None.
答案 0 :(得分:1)
这实际上不是输入数组的首选方法。但是,由于您使用的是python 2.x并且input()
评估了您放入的内容,因此您可以执行以下操作:
>>> print sorted(input(), key=len)
['aa', 'c', 'bbbb']
['c', 'aa', 'bbbb'] # output
>>>
答案 1 :(得分:0)
您无法输入这样的数组。如果要处理数组,请创建一个数组,然后通过调用raw_input()
填充它。然后做排序。
答案 2 :(得分:-1)
就像ForceBru所说,你必须使用raw_input()才能输入列表。通常的输入不允许您输入代码片段,而是像普通字符串一样处理,因此您输入的结果是
'["aaa","bb","cccc","q"]'