Python 如何根据属性值获取类中的项列表
我有一个基于列表创建值的测试类 我想获取列表中值大于3的列表项?或列表项的排序列表 如下图所示:Python 如何根据属性值获取类中的项列表,python,list,class,sorting,attributes,Python,List,Class,Sorting,Attributes,我有一个基于列表创建值的测试类 我想获取列表中值大于3的列表项?或列表项的排序列表 如下图所示: class test: def __init__(self, test): self.name = test m=1 class_items = {} list = ['a', 'b', 'c', 'd', 'e', 'f'] for i in list: class_items[i] = test(i) class_items[i].value = m
class test:
def __init__(self, test):
self.name = test
m=1
class_items = {}
list = ['a', 'b', 'c', 'd', 'e', 'f']
for i in list:
class_items[i] = test(i)
class_items[i].value = m
m = m+1
class_items['e'].value
Out[2]: 5
class_items['a'].value
Out[3]: 1
或项目值大于3:
['f', 'e', 'd', 'c', 'b', 'a']
您需要创建一个新的列表
,其中包含值
大于3
的元素,并将反向
标志设置为真
另外:不要将您的列表
命名为列表
。它会隐藏内置的列表
您需要创建一个新的列表
,其中包含值
大于3
的元素,并将反向
标志设置为真
另外:不要将您的
列表
命名为列表
。它隐藏内置的列表
您可以使用列表理解来构建它。另外,您不应该给列表命名,因为它会覆盖内置名称,所以在本例中,我将您的列表重命名为已知的。它包含完全相同的值,我只是想给它一个更好的名字
print(sorted([k for k, v in class_items.items() if v.value > 3], reverse=True))
# ['f', 'e', 'd']
这将返回['d','e','f']
。然后,您可以根据需要对该列表进行排序!反转它应该可以工作,就像在反转之前对它进行排序一样
您可以使用列表理解来构建它。另外,您不应该给列表命名,因为它会覆盖内置名称,所以在本例中,我将您的列表重命名为已知的。它包含完全相同的值,我只是想给它一个更好的名字
print(sorted([k for k, v in class_items.items() if v.value > 3], reverse=True))
# ['f', 'e', 'd']
这将返回['d','e','f']
。然后,您可以根据需要对该列表进行排序!反转它应该可以工作,就像在反转之前对它进行排序一样
试试这个:
values = [i for i in known if class_items[i].value > 3]
输出:
class_items_sorted = sorted([key for key, val in class_items.items()], reverse=True)
class_items_filtered = sorted([key for key, val in class_items.items() if val.value>3], reverse=True)
print(class_items_sorted)
print(class_items_filtered)
试试这个:
values = [i for i in known if class_items[i].value > 3]
输出:
class_items_sorted = sorted([key for key, val in class_items.items()], reverse=True)
class_items_filtered = sorted([key for key, val in class_items.items() if val.value>3], reverse=True)
print(class_items_sorted)
print(class_items_filtered)
你试过什么,它到底有什么问题?你试过什么,它到底有什么问题?那么,接下来是“v.value>3”。@quamrana我的错,修复了。好的,更好。现在值得一投。所以,下一个是“v.value>3”。@quamrana我的坏,修复。好,更好。现在值得投一票。
['f', 'e', 'd', 'c', 'b', 'a']
['f', 'e', 'd']