首页 > 其他 > 详细

字符串&&列表&&字典&&元组&&集合 相互转换详解

时间:2019-11-10 14:02:45      阅读:95      评论:0      收藏:0      [点我收藏+]

1.eval() 函数   

定义:eval() 函数用来执行一个字符串表达式,并返回表达式的值。 简单的描述就是去掉引号,只执行表达式

本质:执行表达式的本质 如果存在运算则返回表达式的值,如果不存在运算则相当于去掉‘’ 取表达式 

作用:

1. 将字符串数据类型转换成其它类型     把字符串类型的 列表、字典、元组,集合转换为表达式的类型

a = ‘‘‘[1,‘b‘,2]‘‘‘  # 这里纯数字可套单引号,一旦包含字符就只能是三引号???
# a = ‘‘‘{‘a‘:1,‘b‘:‘eee‘}‘‘‘
s = eval(a)
print(s)
print(type(s))

>>  [1, b, 2]
>>  <class list>

   

2. 执行字符串表达式 返回表达式的值

x = 7
y = eval( 3 * x )   
print(y)

>> 21

2.数据类型的相互转换 (str list tuple dict set)

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>

### 字符串转为元组
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>

### 字符串转集合
s = hello python
set1 = set(s)
print set1
print type(s)
print type(set1)

>> set([ , e, h, l, o, n, p, t, y])    注意:元组 套列表 无序    问:如何把字符串转换为无序列表
>> <type str>
>> <type set>


### 字符串转字典   eval()函数  已阐述

2.列表转为其它类型

###列表转化为字符串  直接转换类型
li=["hello",1,1+3j]
print type(li)
s=str(li)
print s
print type(s)

>>  <type list>
>>  [hello, 1, (1+3j)]
>>  <type str>

### 列表转换为字符串  拼接字符串
l1=(a,b,c)
s = ‘‘.join(l1)print(s)print(type(s))

### 列表转化为元组 tuple(l1) ### 列表转化为字典 li1 = [NAME, AGE, gender] li2 = [redhat, 10, M] d= dict(zip(li1,li2)) print d,type(d) ###列表转集合 l1=[a,1,c] print(set(l1)) print(type(set(l1))) >> {1, c, a} >> <class set>

 

3.元组转换为其它类型

###元组转化成字符串  直接转化类型
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>

###元组转化为列表
l1=list(t)
###元组转化为字典
t1 = (NAME, AGE, gender)
t2 = (redhat, 10, M)
d= dict(zip(t1,t2))
print d,type(d)

4. 字典转换为其它类型   

   1.只能将( d.keys(), d.values, for i in  dict  dict容器中装的是keys )转换为其它格式

   2. 只能转换keys 和 vaues (列表)

   3. 不能通过 dict(l1)   直接强转类型   可以用两个列表,元组或集合  dict(zip(l1,l2))

 

5. 集合转换为其它类型

### 集合转化为字符串 
li={"hello",1,1+3j]}
print type(li)
s=str(li)
print s
print type(s)

### 结合转换为字符串  拼接字符串
t1={a,b,c)}
s = ‘‘.join(l1)
print(s)
print(type(s))

### 集合转化为元组 列表
tuple(t1)  list(t1)

### 列表转化为字典
t1 = {NAME, AGE, gender}
t2 = {redhat, 10, M}
d= dict(zip(li1,li2))
print (d,type(d))

 

 

 

字符串&&列表&&字典&&元组&&集合 相互转换详解

原文:https://www.cnblogs.com/bigbox/p/11829614.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!