【发布时间】:2021-12-23 22:52:16
【问题描述】:
正如标题所说,我正在将标记的元素分类到两个列表中。 我目前的代码是:
lst = [("foo", "good"), ("bar", "bad")...("x", "n")]
def sort(items):
good = []
bad = []
for i in range(len(items)):
if items[i][1] == 'good':
good += items[i][0]
else:
bad += items[i][0]
return good, bad
alpha, beta = sort(lst)
我的输出只是f。我一直在努力解决这个问题,但解决方案一直在逃避我。
有什么建议吗?
谢谢大家。
【问题讨论】:
-
good.append(...而不是+= -
我几乎在发布此问题后就通过将
good += items[i][0]更改为good += [items[i][0]]修复了它,但感谢您的回复。 -
我强烈建议不要将你的函数命名为
sort,因为使用该函数阅读你的代码的每个人都会假设它执行sort,在普遍意义上计算机科学中的那个词。即,它与内置函数sorted或list.sort做同样的事情。 -
谢谢。我只是为了这个问题改了名字,实际程序中的名字不一样。
标签: python list sorting tuples