python中将一个列表样式的字符串转换成真正列表的办法以及json.dumps()和 json.loads()

article/2025/6/21 2:34:14

今天学习python的web.py,返回的内容为列表样式的字符串,如下

string_data = "[('13.212.95.888', 8000, 10), ('13.212.95.999', 8000, 10)]"

此时,如果想提取第一个元素,也就是('13.212.95.888', 8000, 10),不能使用string_data[0],因为string_data是一个字符串。

看一下运行情况,结果仅仅是一个[:

那么如何操作呢?

import ast# 假设你的字符串是这样的(注意:字符串内容需要与Python列表语法完全匹配)
string_data = "[('13.212.95.888', 8000, 10), ('13.212.95.999', 8000, 10)]"# 使用ast.literal_eval将字符串转换为列表
list_data = ast.literal_eval(string_data)print(list_data)
print(type(list_data))  # 确认类型是list

结果就和预期的一样了。 

 

顺便说一下,对于json数据也存在如此的问题,所以,出现了json.dumps()和 json.loads()。

json.dumps()函数是将字典转化为json字符串,一般用在web.py的服务器的响应函数的return之前,因为return 字符串是最好的;

class Index(object):def GET(self):json_result = json.dumps(字典数据)return json_result

又如:

import jsondict1 = {'age': '12'}#也可以是dict1 = {"age": "12"}
json_info = json.dumps(dict1)
print(json_info)
print(type(json_info))

注:字典里的内容可以是单引号,也可以是双引号。但json字符串数据必定是双引号。 

 结果:

json.loads()函数是将json字符串转化为字典,一般用在客户端请求处理中,请求完成后,得到的响应是服务器返回的字符串,想要进行下一步的数据提取和操作,转换成字典会更方便。

import requests
import json
r = requests.get('http://127.0.0.1:1234/')
ip_ports = json.loads(r.text)
print ip_ports

又如:

json_info = '{"age": "12"}'#必须是字符串,而且json数据必须是双引号
dict1=json.loads(json_info)
print(dict1)
print(type(dict1))

结果:

 

 

 


http://www.hkcw.cn/article/yREtLmCJlP.shtml

相关文章

C++:指针(Pointers)

目录 什么是指针? 为什么需要指针? 1. 访问堆(Access Heap) 2. 资源管理(Resource Management) 3. 参数传递(Parameter Passing) 如何声明和使用指针? 如何利用指…

Acrobat DC v25.001 最新专业版已破,像word一样编辑PDF!

在数字化时代,PDF文件以其稳定性和通用性成为了文档交流和存储的热门选择。无论是阅读、编辑、转换还是转曲,大家对PDF文件的操作需求日益增加。因此,一款出色的PDF处理软件不仅要满足多样化的需求,还要通过简洁的界面和强大的功能…

RabbitMQ 高级特性

准备工作 1. 创建 Spring 项目 2. 引入依赖 3.修改配置文件 RabbitMQ官网 AMQP 0-9-1 Protocol Extensions | RabbitMQ 消息确认 消息确认机制 生产者发送消息,到达消费者后,可能会有以下情况: 1.消息处理成功 2.消息处理异常 RabbitMQ 向消费者发送消息之后,会把消息删除…

机器学习:欠拟合、过拟合、正则化

本文目录: 一、欠拟合二、过拟合三、拟合问题原因及解决办法四、正则化:尽量减少高次幂特征的影响(一)L1正则化(二)L2正则化(三)L1正则化与L2正则化的对比 五、正好拟合代码&#xf…

电路学习(二)之电容

电容的基本功能是通交流隔直流、存储电量,在电路中可以进行滤波、充放电。 1.什么是电容? (1)电容定义:电容器代表了器件存储电荷的能力,通俗来理解是两块不连通的导体与绝缘的中间体组成。当给电容充电时…

第十二节:第二部分:集合框架:Collection集合的遍历方式:迭代器、增强for循环、Lambda、案例

迭代器遍历集合 增强for循环遍历集合 Lambda表达式遍历集合 代码: 代码一:使用迭代器遍历集合 package com.itheima.day18_Collection;import java.util.ArrayList; import java.util.Collection; import java.util.Iterator; // //使用迭代器遍历集合…

任务18:时间序列的模型

任务描述 知识点: 移动平均法指数平滑法ARIMA模型 重 点: 指数平滑法ARIMA模型 内 容: 创建时间序列索引绘制时间序列图形处理时间序列数据建立时间序列模型模型效果评估应用模型预测 任务指导 1. 移动平均法 移动平均法&#xff…

Java研学-MongoDB(一)

一 MongoDB 简介 MongoDB是一种高性能、开源的NoSQL数据库,采用面向文档的存储模型,以BSON(Binary JSON)格式存储数据,具有灵活的数据模型、强大的扩展性和丰富的功能特性,广泛应用于各类现代应用程序的数据…

【LLM相关知识点】 LLM关键技术简单拆解,以及常用应用框架整理(二)

【LLM相关知识点】 LLM关键技术简单拆解,以及常用应用框架整理(二) 文章目录 【LLM相关知识点】 LLM关键技术简单拆解,以及常用应用框架整理(二)一、市场调研:业界智能问答助手的标杆案例1、技术…

自动化立体仓库WCS的设计与实现

导语 大家好,我是社长,老K。专注分享智能制造和智能仓储物流等内容。欢迎大家使用我们的仓储物流技术AI智能体。 新书《智能物流系统构成与技术实践》 新书《智能仓储项目出海-英语手册,必备!》 完整版文件和更多学习资料&#xf…

2025年5月18日蓝桥stema省选拔赛编程题答案解析

题目:水龙头 时间限制:C/C 语言 1000MS;其他语言 3000MS 内存限制:C/C 语言 65536KB;其他语言 589824KB 题目描述: 小明在 0 时刻(初始时刻)将一个空桶放置在漏水的水龙头下。已知桶…

基于开源AI大模型AI智能名片S2B2C商城小程序源码的销售环节数字化实现路径研究

摘要:在数字化浪潮下,企业销售环节的转型升级已成为提升竞争力的核心命题。本文基于清华大学全球产业研究院《中国企业数字化转型研究报告(2020)》提出的“提升销售率与利润率、打通客户数据、强化营销协同、构建全景用户画像、助…

使用 HTML + jsmind 实现在线思维导图

在日常工作和学习中,思维导图是一种非常有效的可视化工具,可以帮助我们梳理思路、规划任务、整理知识结构。本文将带你一步步了解如何使用 HTML 和 jsmind 实现一个基础的在线思维导图应用。 效果演示 项目概述 本项目主要包含以下核心功能&#xff1a…

利用python工具you-get下载网页的视频文件

有时候我们可能在一个网站看到一个视频(比如B站),想下载,但是页面没有下载视频的按钮。这时候,我们可以借助python工具you-get来实现下载功能。下面简要说下步骤 (一)因为使用的是python工具&a…

threejs渲染器和前端UI界面

1. three.js Canvas画布布局 学习本节课之前,可以先回顾下第一章节入门部分的6和12两小节关于threejs Canvas画布布局的讲解。 网页上局部特定尺寸:1.6 第一个3D案例—渲染器(opens new window) 全屏,随窗口变化:1.12 Canvas画布布局和全屏…

嵌入式编译工具链熟悉与游戏移植

在自己的虚拟机Ubuntu系统下,逐步编译 mininim源码(波斯王子重制开源版) 指令流程 sudo apt-get remove liballegro5-dev liballegro-image5-dev \liballegro-audio5-dev liballegro-acodec5-dev liballegro-dialog5-dev sudo apt-get install automak…

IEEE P370:用于高达 50 GHz 互连的夹具设计和数据质量公制标准

大多数高频仪器,如矢量网络分析仪 (VNA) 和时域反射仪 (TDR),都可以在同轴接口的末端进行非常好的测量。然而,复杂系统中使用的互连很少具有同轴接口。用于表征这些设备的夹具的设计和实施会对测…

随机响应噪声-极大似然估计

一、核心原因:噪声机制的数学可逆性 在随机响应机制(Randomized Response)中使用极大似然估计(Maximum Likelihood Estimation, MLE)是为了从扰动后的噪声数据中无偏地还原原始数据的统计特性。随机响应通过已知概率的…

二叉搜索树——红黑树

红黑树 概念红黑树的原理红黑树的效率红黑树的插入规则变色旋转变色红黑树的验证 代码如下 概念 红黑树本质也是一颗二叉搜索树,他的每个结点增加⼀个存储位来表⽰结点的颜⾊,可以是红⾊或者⿊⾊。通过对任何⼀条从根到叶⼦的路径上各个结点的颜⾊进⾏约…

PCB设计教程【强化篇】——USB拓展坞元件选型

前言 本教程基于B站Expert电子实验室的PCB设计教学的整理,为个人学习记录,旨在帮助PCB设计新手入门。所有内容仅作学习交流使用,无任何商业目的。若涉及侵权,请随时联系,将会立即处理 目录 前言 USB 拓展坞项目概述…