使用Python内置的eval函数,可以执行字符串里的Python代码。使用这种方式,可以将字符串转换成为其他类型的数据。
x = '1+1'
print(eval(x)) # 2
print(type(eval(x))) #
y = '{"name":"zhangsan","age":18}'
print(eval(y))
print(type(eval(y))) #
print(eval('1 > 2')) # False
eval('input("请输入您的姓名:")')
JSON(JavaScript Object Notation, JS对象简谱)是一种轻量级的数据交换格式,它基于 ECMAScript 的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。JSON本质是一个字符串
JSON的功能强大,使用场景也非常的广,目前我们只介绍如何使用Python的内置JSON模块,实现字典、列表或者元组与字符串之间的相互转换。
使用json的dumps方法,可以将字典、列表或者元组转换成为字符串。
import json
person = {'name': 'zhangsan', 'age': 18}
x = json.dumps(person)
print(x) # {"name": "zhangsan", "age": 18}
print(type(x)) #
nums = [1, 9, 0, 4, 7]
y = json.dumps(nums)
print(y) # [1, 9, 0, 4, 7]
print(type(y)) #
words = ('hello','good','yes')
z = json.dumps(words)
print(z) # ["hello", "good", "yes"]
print(type(z)) #
使用json的loads方法,可以将格式正确的字符串转换成为字典、列表。
x = '{"name": "zhangsan", "age": 18}'
person = json.loads(x)
print(person) # {'name': 'zhangsan', 'age': 18}
print(type(person)) #
y = '[1, 9, 0, 4, 7]'
nums = json.loads(y)
print(nums) # [1, 9, 0, 4, 7]
print(type(nums)) #
字符串、列表、元组、字典和集合,它们有很多相同点,都是由多个元素组合成的一个可迭代对象,它们都有一些可以共同使用的方法。
在Python里,常见的算数运算符,有一些可以使用于可迭代对象,它们执行的结果也稍有区别。
运算符 | Python 表达式 | 结果 | 描述 | 支持的数据类型 |
---|---|---|---|---|
+ | [1, 2] + [3, 4] | [1, 2, 3, 4] | 合并 | 字符串、列表、元组} |
- | {1,2,3,4} - {2,3} | {1,4} | 集合求差集 | 集合 |
* | [‘Hi!’] * 4 | [‘Hi!’, ‘Hi!’, ‘Hi!’, ‘Hi!’] | 复制 | 字符串、列表、元组 |
in | 3 in (1, 2, 3) | True | 元素是否存在 | 字符串、列表、元组、字典 |
not in | 4 not in (1, 2, 3) | True | 元素是否不存在 | 字符串、列表、元组、字典 |
+
加法运算符可以用于字符串、列表和元组,用来拼接多个可迭代对象,不能用于字典和集合。
>>> "hello " + "world"
'hello world'
>>> [1, 2] + [3, 4]
[1, 2, 3, 4]
>>> ('a', 'b') + ('c', 'd')
('a', 'b', 'c', 'd')
-
减法只能用于集合里,用来求两个集合的差集。
>>> {1, 6, 9, 10, 12, 3} - {4, 8, 2, 1, 3}
{9, 10, 12, 6}
*
加法运算符可以用于字符串、列表和元组,用来将可迭代对象重复多次,同样不能用于字典和集合。
>>> 'ab' * 4
'ababab'
>>> [1, 2] * 4
[1, 2, 1, 2, 1, 2, 1, 2]
>>> ('a', 'b') * 4
('a', 'b', 'a', 'b', 'a', 'b', 'a', 'b')
in
in和not in成员运算符可以用于所有的可迭代对象。但是需要注意的是,in 和 not in 在对字典进行判断时,是查看指定的key是否存在,而不是value.
>>> 'llo' in 'hello world'
True
>>> 3 in [1, 2]
False
>>> 4 in (1, 2, 3, 4)
True
>>> "name" in {"name":"chris", "age":18}
True
通过for … in … 我们可以遍历字符串、列表、元组、字典、集合等可迭代对象。
a_str = "hello world"
for char in a_str:
print(char,end=' ')
a_list = [1, 2, 3, 4, 5]
for num in a_list:
print(num,end=' ')
a_turple = (1, 2, 3, 4, 5)
for num in a_turple:
print(num,end=" ")
可迭代对象都可以使用enumerate内置类进行包装成一个enumerate对象。对enumerate进行遍历,可以同时得到一个可迭代对象的下标和元素。
nums = [12, 9, 8, 5, 4, 7, 3, 6]
# 将列表nums包装成enumerate对象
for i, num in enumerate(nums): # i表示元素下标,num表示列表里的元素
print('第%d个元素是%d' % (i, num))
【Python】Python 实现猜单词游戏——挑战你的智力和运气!
【python】Python tkinter库实现重量单位转换器的GUI程序
【python】使用Selenium获取(2023博客之星)的参赛文章
【python】使用Selenium和Chrome WebDriver来获取 【腾讯云 Cloud Studio 实战训练营】中的文章信息
使用腾讯云 Cloud studio 实现调度百度AI实现文字识别
【玩转Python系列【小白必看】Python多线程爬虫:下载表情包网站的图片
【玩转Python系列】【小白必看】使用Python爬取双色球历史数据并可视化分析
【玩转python系列】【小白必看】使用Python爬虫技术获取代理IP并保存到文件中
【小白必看】Python图片合成示例之使用PIL库实现多张图片按行列合成
【小白必看】Python爬虫实战之批量下载女神图片并保存到本地
【小白必看】Python词云生成器详细解析及代码实现
【小白必看】Python爬取NBA球员数据示例
【小白必看】使用Python爬取喜马拉雅音频并保存的示例代码
【小白必看】使用Python批量下载英雄联盟皮肤图片的技术实现
【小白必看】Python爬虫数据处理与可视化
【小白必看】轻松获取王者荣耀英雄皮肤图片的Python爬虫程序
【小白必看】利用Python生成个性化名单Word文档
【小白必看】Python爬虫实战:获取阴阳师网站图片并自动保存
小白必看系列之图书管理系统-登录和注册功能示例代码
小白实战100案例: 完整简单的双色球彩票中奖判断程序,适合小白入门
使用 geopandas 和 shapely(.shp) 进行地理空间数据处理和可视化
使用selenium爬取猫眼电影榜单数据
图像增强算法Retinex原理与实现详解
爬虫入门指南(8): 编写天气数据爬虫程序,实现可视化分析
爬虫入门指南(7):使用Selenium和BeautifulSoup爬取豆瓣电影Top250实例讲解【爬虫小白必看】
爬虫入门指南(6):反爬虫与高级技巧:IP代理、User-Agent伪装、Cookie绕过登录验证及验证码识别工具
爬虫入门指南(5): 分布式爬虫与并发控制 【提高爬取效率与请求合理性控制的实现方法】
爬虫入门指南(4): 使用Selenium和API爬取动态网页的最佳方法
爬虫入门指南(3):Python网络请求及常见反爬虫策略应对方法
爬虫入门指南(2):如何使用正则表达式进行数据提取和处理
爬虫入门指南(1):学习爬虫的基础知识和技巧
深度学习模型在图像识别中的应用:CIFAR-10数据集实践与准确率分析
Python面向对象编程基础知识和示例代码
MySQL 数据库操作指南:学习如何使用 Python 进行增删改查操作
Python文件操作指南:编码、读取、写入和异常处理
使用Python和Selenium自动化爬取 #【端午特别征文】 探索技术极致,未来因你出“粽” # 的投稿文章
Python多线程与多进程教程:全面解析、代码案例与优化技巧
Selenium自动化工具集 - 完整指南和使用教程
Python网络爬虫基础进阶到实战教程
Python入门教程:掌握for循环、while循环、字符串操作、文件读写与异常处理等基础知识
Pandas数据处理与分析教程:从基础到实战
Python 中常用的数据类型及相关操作详解
【2023年最新】提高分类模型指标的六大方案详解
Python编程入门基础及高级技能、Web开发、数据分析和机器学习与人工智能
用4种回归方法绘制预测结果图表:向量回归、随机森林回归、线性回归、K-最近邻回归