python字符串 列表 元组 字典 集合的相互转化
2018-03-25 14:52
791 查看
一.字符串str
1.字符串转化列表
s = 'hello python' li = list(s) print li print type(s) print type(li)
结果
['h', 'e', 'l', 'l', 'o', ' ', 'p', 'y', 't', 'h', 'o', 'n'] <type 'str'> <type 'list'>
2.字符串转化元组
s = 'hello python' t = tuple(s) print t print type(s) print type(t)
结果
('h', 'e', 'l', 'l', 'o', ' ', 'p', 'y', 't', 'h', 'o', 'n') <type 'str'> <type 'tuple'>
3.字符串转化集合
s = 'hello python' set1 = set(s) print set1 print type(s) print type(set1)
结果:集合是无序的数据类型,转化集合过程中相同元素只出现一次,比如“o“
set([' ', 'e', 'h', 'l', 'o', 'n', 'p', 't', 'y']) <type 'str'> <type 'set'>
4.字符串转化字典,需要借助eval函数或者exec函数
s = '{"name":"redhat","age":"10"}' d = eval(s) print type(s) print d print type(d)
结果
<type 'str'> {'age': '10', 'name': 'redhat'} <type 'dict'>
exec函数
s = '{"name":"redhat","age":"10"}' print type(s) exec('c=' +s) print c,"查看c的内容" print "查看c的类型",type(c)
结果
<type 'str'> {'age': '10', 'name': 'redhat'} 查看c的内容 查看c的类型 <type 'dict'>
二.列表list,
1.列表转化字符串
li=["hello",1,1+3j] print type(li) s=str(li) print s print type(s)
结果
<type 'list'> ['hello', 1, (1+3j)] <type 'str'>
2.列表转化元组
li=["hello",1,1+3j] print type(li) t=tuple(li) print t print type(t)
结果
<type 'list'> ('hello', 1, (1+3j)) <type 'tuple'>
3.列表转化集合
li=["hello",1,1+3j,1,"2","3","2",3] print type(li) s=set(li) print s print type(s)
结果:转换后集合无序,另外原列表中出现的相同的字符,没了,3是int型,’3’是字符串str型,两者不同
<type 'list'> set([1, 3, (1+3j), '3', '2', 'hello']) <type 'set'>
4.单个列表无法转化字典,两个可以借助zip实现
li1 = ['NAME', 'AGE', 'gender'] li2 = ['redhat', 10, 'M'] d= dict(zip(li1,li2)) print d,type(d)
结果
{'gender': 'M', 'AGE': 10, 'NAME': 'redhat'} <type 'dict'>
三.元组tuple
1.元组转化字符串
t=("hello",1,1+3j,1,"2","3","2",3) print type(t) s=str(t) print s print type(s)
结果
<type 'tuple'> ('hello', 1, (1+3j), 1, '2', '3', '2', 3) <type 'str'>
2.元组转化列表
t=("hello",1,1+3j,1,"2","3","2",3) print type(t) li=list(t) print li print type(li)
3.元组转化集合
t=("hello",1,1+3j,1,"2","3","2",3) s=set(t) print s print type(s)
结果
set([1, 3, (1+3j), '3', '2', 'hello']) <type 'set'>
4.元组转化字典和列表相同,两个可以借助zip函数
t1 = ('NAME', 'AGE', 'gender') t2 = ('redhat', 10, 'M') d= dict(zip(t1,t2)) print d,type(d)
结果
{'gender': 'M', 'AGE': 10, 'NAME': 'redhat'} <type 'dict'>
四.集合set
1.集合转化字符串str
s={1,2L,3.1,1,"hello",1+4j} print s print type(s) string=str(s) print type(string)
结果
set([1, 2L, 3.1, (1+4j), 'hello']) <type 'set'> <type 'str'>
2.集合转化列表list
s={1,2L,3.1,1,"hello",1+4j} print s print type(s) li1=list(s) print li1 print type(li1)
结果:
set([1, 2L, 3.1, (1+4j), 'hello']) <type 'set'> [1, 2L, 3.1, (1+4j), 'hello'] <type 'list'>
4.集合转化元组
s={1,2L,3.1,1,"hello",1+4j} print s print type(s) t=tuple(s) print t print type(t)
结果
set([1, 2L, 3.1, (1+4j), 'hello']) <type 'set'> (1, 2L, 3.1, (1+4j), 'hello') <type 'tuple'>
4.集合转化字典
s1={1,2,3,4} s2 = {"a","b","c"} d=dict(zip(s1,s2)) print d print type(d)
结果
{1: 'a', 2: 'c', 3: 'b'} <type 'dict'>
五.字典eict
1.字典转化字符串str
把字典的keys-vlaues一起转哈化d = dict(a=1,b=2,c=3) print type(d) s=str(d) print s,type(s)
结果
<type 'dict'> {'a': 1, 'c': 3, 'b': 2} <type 'str'>
只转化字典的keys
d = dict(a=1,b=2,c=3) print type(d) s=str(d.keys()) print s,type(s)
结果
<type 'dict'> ['a', 'c', 'b'] <type 'str'>
只转化字典的values
d = dict(a=1,b=2,c=3) print type(d) s=str(d.values()) print s,type(s)
结果
<type 'dict'> [1, 3, 2] <type 'str'>
2.字典转化列表list
字典转化列表默认情况下,转化的是kyes键d = dict(a=1,b=2,c=3) print type(d) li=list(d) print li,type(li)
结果
<type 'dict'> ['a', 'c', 'b'] <type b9f0 'list'>
可以转化values
d = dict(a=1,b=2,c=3) print type(d) li=list(d.values()) print li,type(li
结果
<type 'dict'> [1, 3, 2] <type 'list'>
转化keys-values
d = dict(a=1,b=2,c=3) print type(d) li=list(d.iteritems()) print li,type(li)
结果
<type 'dict'> [('a', 1), ('c', 3), ('b', 2)] <type 'list'>
3.字典转化元组
同列表,默认情况下,转换keys键,其他方法同列表d = dict(a=1,b=2,c=3) print type(d) t=tuple(d) print t,type(t)
结果
<type 'dict'> ('a', 'c', 'b') <type 'tuple'>
4.字典转集合set
默认强况下,转换keys键,其他转化同列表,元组d = dict(a=1,b=2,c=3) print type(d) s1=set(d) print s1,type(s1)
结果
<type 'dict'> set(['a', 'c', 'b']) <type 'set'>
注意:
s是字符串str,s1是字典dicts = "{'name':'root','passwd':'123'}" s1 = {'name':'root','passwd':'123'} print type(s) print s,len(s) print type(s1) print s1,len(s1)
结果
<type 'str'> {'name':'root','passwd':'123'} 30 <type 'dict'> {'passwd': '123', 'name': 'root'} 2
相关文章推荐
- python 字符串 元组 列表 字典 间的相互转化
- python中str(字符串)、list(列表)、tuple(元组)、dict(字典)相互转化关系及字典键-值遍历
- python基础-字符串、列表、元组、字典、集合
- Python中的列表,元组,字符串之间的相互转化
- python 字符串,列表,元组,字典相互转换
- python基础数据结构——列表(list), 元祖(tuple), 字典(dict), 字符串(string), 集合(set) 介绍及相互转换
- Python列表、元组、集合、字典的区别和相互转换
- Python总结(字符串、列表、元组、字典、集合和文件)
- python基础学习——列表(list), 元祖(tuple), 字典(dict), 字符串(string), 集合(set) 介绍及相互转换
- Python中元组、列表、字典的遍历和相互转化
- Python学习笔记ucas(lecture2)数据结构(字符串、列表、元组、字典、集合)
- 2.python基础之—列表,元组,字典,集合,字符串的使用方法
- Python中元组、列表、字典的遍历和相互转化
- Python基础 -- 02 基础语法(字符串、列表、元组、字典、set集合)
- python 中list(列表),tupe(元组),str(字符串),dict(字典)之间的相互转换
- Python(5-6-7):数字+字符串+列表+元组+字典+集合
- Python之几种重要的基本类型:元组,列表,字典,字符串,集合
- Python黑帽编程2.3 字符串、列表、元组、字典和集合
- python中列表,元组,字典,字符串相互转换
- Day2 Python基础学习——字符串、列表、元组、字典、集合