簡體   English   中英

將一個鍵值從詞典列表轉換為列表

[英]Convert One Key Value from List of Dictionaries to List

我有一個編碼字典列表:

[u"{'name':'Tom', 'uid':'asdlfkj223'}", u"{'name':'Jerry', 'uid':'alksd32'}", ...]

無論如何,我只能創建一個鍵名值列表嗎?

如果有人對Django ORM有足夠的了解,甚至可以從PostgreSQL數據庫中提取具有屬性的數據/列的列表,那就更好了。

謝謝!

要僅從數據庫表中獲取name列的值,請使用:

names = Person.objects.values_list('name', flat=True)

(根據https://docs.djangoproject.com/en/dev/ref/models/querysets/#django.db.models.query.QuerySet.values_list

否則,給定

people = [{'name':'Tom', 'uid':'asdlfkj223'}, {'name':'Jerry', 'uid':'alksd32'},]

這應該做的工作:

names = [person['name'] for person in people]

而且,您應該找出為什么數據項是字符串(包含字典的字符串表示形式)開頭的-它看起來並不像應該的樣子。

或者,如果您實際上將dict的字符串存儲在數據庫中,或者更喜歡使用JSON而不是Python字符串表示,或者如果您必須使用當前格式,則此處另一個問題中提供的AST解析解決方案應該可以完成此工作。

您可以使用ast.literal_eval

>>> data = [u"{'name':'Tom', 'uid':'asdlfkj223'}",u"{'name':'Jerry', 'uid':'alksd32'}"]
>>> import ast
>>> [ast.literal_eval(d)['name'] for d in data]
['Tom', 'Jerry']

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM