首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在字典Python中转换列表值元素

在字典Python中转换列表值元素
EN

Stack Overflow用户
提问于 2022-03-06 09:53:57
回答 4查看 62关注 0票数 1

我有这样的数据

代码语言:javascript
复制
[{'point1': ['20.900', '15.300', '20.400'], 
  'point2': ['0.600', '34.700', '8.100'], 
  'point3': ['12.100', '15.800', '2.300'], 
  'point4': ['15.000', '5.800', '16.900']}]

如何将数字转换成整数?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2022-03-06 09:59:47

在一行中尝试这个:

代码语言:javascript
复制
l = [{'point1': ['20.900', '15.300', '20.400'], 'point2': ['0.600', '34.700', '8.100'], 'point3': ['12.100', '15.800', '2.300'], 'point4': ['15.000', '5.800', '16.900']}]

result = [{k: [int(float(i)) for i in v] for k, v in l[0].items()}]

其结果将是:

代码语言:javascript
复制
[{'point1': [20, 15, 20],
  'point2': [0, 34, 8],
  'point3': [12, 15, 2],
  'point4': [15, 5, 16]}]
票数 1
EN

Stack Overflow用户

发布于 2022-03-06 09:58:15

您可以使用一个循环:

代码语言:javascript
复制
for d in lst:
    for v in d.values():
        for i, num in enumerate(v):
            v[i] = int(float(num))

print(lst)

输出:

代码语言:javascript
复制
[{'point1': [20, 15, 20],
  'point2': [0, 34, 8],
  'point3': [12, 15, 2],
  'point4': [15, 5, 16]}]
票数 2
EN

Stack Overflow用户

发布于 2022-03-06 10:14:50

一个similar question已经问过了,也检查过了!你也可以这样做:

代码语言:javascript
复制
arr = [{
    'point1': ['20.900', '15.300', '20.400'], 
    'point2': ['0.600', '34.700', '8.100'], 
    'point3': ['12.100', '15.800', '2.300'], 
    'point4': ['15.000', '5.800', '16.900'],
    }]

[{k : list(map(float, v))  for k, v in point.items() } for point in arr]
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71369229

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档