社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

如何在python中从列表中获取值[closed]

bhavesh • 5 年前 • 1351 次点击  

我有一份口述清单如下

result = [{'start_date': datetime.date(2019, 1, 20)}, {'start_date': datetime.date(2019, 1, 21)}, {'start_date': datetime.date(2019, 1, 22)}]

我的期望值

result = ['2019-1-20', '2019-1-21', '2019-1-22']
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/49925
 
1351 次点击  
文章 [ 3 ]  |  最新文章 5 年前
Taohidul Islam
Reply   •   1 楼
Taohidul Islam    6 年前

试试这个:

result = [{'start_date': datetime.date(2019, 1, 20)}, {'start_date': datetime.date(2019, 1, 21)}, {'start_date': datetime.date(2019, 1, 22)}]
result_list = [str(i.get("start_date")) for i in result]
Sigve Karolius
Reply   •   2 楼
Sigve Karolius    6 年前

这是一个很好的例子 map 功能或 list-comprehension 使用效果好。

import datetime 
result = [{'start_date': datetime.date(2019, 1, 20)}, {'start_date': datetime.date(2019, 1, 21)}, {'start_date': datetime.date(2019, 1, 22)}]

# Map function
res = map(lambda d: str(d['start_date']), result)
print(res)

# List-comprehension
res = [ str(d['start_date']) for d in result ]
print(res)
hyperTrashPanda
Reply   •   3 楼
hyperTrashPanda    6 年前

你需要像

mylist = []
for res in result:
    mylist.append(res['start_date'])

这将从 start_date 词典输入 datetime 格式化,以便您可以继续使用它们 日期时间 -类似的功能。如果希望结果为字符串,可以将此示例中的最后一行替换为

mylist.append(res['start_date'].isoformat())
# >>> print(mylist)
# ['2019-01-20', '2019-01-21', '2019-01-22']