python字符串/元组/列表/字典互转

数据类型转换详解
本文详细介绍了Python中不同数据类型之间的转换方法,包括字典、元组、列表和字符串等常见数据类型的相互转换,并通过实例展示了如何实现这些转换。
#-*-coding:utf-8-*- 

#1、字典
dict = {'name': 'Zara', 'age': 7, 'class': 'First'}

#字典转为字符串,返回:<type 'str'> {'age': 7, 'name': 'Zara', 'class': 'First'}
print type(str(dict)), str(dict)

#字典可以转为元组,返回:('age', 'name', 'class')
print tuple(dict)
#字典可以转为元组,返回:(7, 'Zara', 'First')
print tuple(dict.values())

#字典转为列表,返回:['age', 'name', 'class']
print list(dict)
#字典转为列表
print dict.values

#2、元组
tup=(1, 2, 3, 4, 5)

#元组转为字符串,返回:(1, 2, 3, 4, 5)
print tup.__str__()

#元组转为列表,返回:[1, 2, 3, 4, 5]
print list(tup)

#元组不可以转为字典

#3、列表
nums=[1, 3, 5, 7, 8, 13, 20];

#列表转为字符串,返回:[1, 3, 5, 7, 8, 13, 20]
print str(nums)

#列表转为元组,返回:(1, 3, 5, 7, 8, 13, 20)
print tuple(nums)

#列表不可以转为字典

#4、字符串

#字符串转为元组,返回:(1, 2, 3)
print tuple(eval("(1,2,3)"))
#字符串转为列表,返回:[1, 2, 3]
print list(eval("(1,2,3)"))
#字符串转为字典,返回:<type 'dict'>
print type(eval("{'name':'ljq', 'age':24}"))






转自http://www.cnblogs.com/linjiqin/p/3674356.html

### Python字符串元组列表字典和集合的区别 #### 数据结构概述 Python 提供了几种常见的数据结构,每一种都有其独特的特点和用途。以下是这些数据结构的主要区别: - **字符串 (String)** 是不可变的字符序列,通常用于表示文本信息[^2]。 - **元组 (Tuple)** 是不可变的有序元素集合,适用于固定数量的数据项[^4]。 - **列表 (List)** 是可变的有序元素集合,允许动态增删改查操作[^3]。 - **字典 (Dictionary)** 是键值对形式的无序映射容器,适合快速查找特定键对应的值[^1]。 - **集合 (Set)** 是无序且唯一的元素集合,主要用于去重以及执行数学上的集合运算[^5]。 --- #### 特性对比 | 属性/特性 | 字符串 | 元组 | 列表 | 字典 | 集合 | |------------------|----------------------|-----------------------|---------------------|--------------------|-------------------| | 是否有序 | ✅ | ✅ | ✅ | ❌ | ❌ | | 可变性 | ❌ 不可变 | ❌ 不可变 | ✅ 可变 | ✅ 可变 | ✅ 可变 | | 存储内容类型 | 单一字符型 | 多种类型混合 | 多种类型混合 | 键值对 | 唯一值 | | 支持的操作 | `+`, `*`, `in` | `+`, `*`, `in` | `append`, `pop`, etc.| 插入、更新、删除 | 添加、移除、交并差 | | 使用场景 | 文本处理 | 固定不变的小规模数据 | 动态变化的大规模数据 | 快速查找关联关系 | 去重与集合运算 | --- #### 示例代码展示 ##### 1. 字符串 ```python str_example = "hello world" print(str_example.upper()) # 大写 HELLOWORLD ``` ##### 2. 元组 ```python tuple_example = ("apple", "banana", "cherry") print(tuple_example[0]) # 输出 apple ``` ##### 3. 列表 ```python list_example = ["red", "green", "blue"] list_example.append("yellow") # 追加黄色到列表中 print(list_example) # ['red', 'green', 'blue', 'yellow'] ``` ##### 4. 字典 ```python dict_example = {"name": "Alice", "age": 25} print(dict_example["name"]) # Alice dict_example["city"] = "New York" # 新增城市字段 ``` ##### 5. 集合 ```python set_example = {1, 2, 3, 4} set_example.add(5) # 添加新元素 print(set_example.symmetric_difference({3, 4, 5, 6})) # 对称差集 {1, 2, 6} [^5] ``` --- #### 性能比较 对于大规模数据操作而言: - 如果需要频繁修改,则优先考虑 **列表** 或 **集合**; - 若仅需读取而无需更改,则推荐使用更高效的 **元组** 和 **字符串**; - 当涉及大量散列查询时,应选用哈希性能优越的 **字典** 结构[^3]。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值