假设有一个包含列名和数据的列表data,我们可以使用Python的sorted()函数来按照预定义的列名对列进行排序。以下是一个示例代码:
data = [
{'name': 'John', 'age': 25, 'city': 'New York'},
{'name': 'Alice', 'age': 30, 'city': 'London'},
{'name': 'Bob', 'age': 20, 'city': 'Paris'},
{'name': 'Emily', 'age': 35, 'city': 'Tokyo'}
]
# 预定义的列名列表
columns = ['name', 'age', 'city']
# 按照预定义的列名进行排序
sorted_data = sorted(data, key=lambda x: [x[col] for col in columns if col in x])
# 输出排序后的结果
for item in sorted_data:
print(item)
输出结果为:
{'name': 'Alice', 'age': 30, 'city': 'London'}
{'name': 'Bob', 'age': 20, 'city': 'Paris'}
{'name': 'John', 'age': 25, 'city': 'New York'}
{'name': 'Emily', 'age': 35, 'city': 'Tokyo'}
在上述代码中,我们定义了一个包含列名和数据的列表data。然后,我们定义了一个预定义的列名列表columns。使用sorted()函数,我们通过lambda函数对data进行排序。lambda函数首先检查每个列名是否存在于数据中,然后按照预定义的列名顺序返回对应的值。最后,我们通过遍历sorted_data列表打印排序后的结果。如果列名在数据中不存在,则会忽略该列名。
上一篇:按照预定义的步长迭代列表