eval()将元组、字典、列表类型的字符串华为元组字典列表可以将list,tuple,dict和string相互转化
<1>将字符串类型元组转化成元组类型
r='23,5,6'
r1=eval(r)
print(r1)
print(type(r1))
执行命令得
(23,5,6)
<class 'tuple'>
确认元组里的数据类型
r='23,5,6'
r1=eval(r)
print(r1[0])
print(type(r1[0]))
执行命令得
23
<class 'int'>
<2>将字符串列表类型转化成列表类型
r='[23,5,6]'
r1=eval(r)
print(r1)
执行命令得
[23,5,6]
<class 'list'>
<3>将字符串字典类型转化成字典类型
r="{'a':1,'b':2}"
r1=eval(r)
print(r1)
print(type(r1))
执行命令得
{'a':1,'b':2}
<class 'dict'>
元组
Python的元组与列表类似,不同之处在于元组的元素不能修改.
一、元组的创建
元组使用小括号,列表使用方括号
元组创建很简单,只需要在括号中添加元素(不分数据类型),并使用逗号隔开即可
tup=();
tup=()
print(type(tup))
执行命令得
<class 'tuple'>
tup=(50,)元组中只包含一个元素时,需要在元素后添加逗号,否则会被当作运算符使用
二、元组里增、删、改均不可以
例:
num=(1,2,3)
num.__add__('4')或者num[1]=3 #报错 元素不能修改
print(num)
元组中的元素是不允许删除的,但是我们可以使用del语句来删除整个元组
tup = ('Google', 1997, 2000)
print (tup)
del tup;
print ("删除后的元组 tup : ")
print (tup)
执行命令得
删除后的元组 tup :
Traceback (most recent call last):
File "test.py", line 8, in <module>
print (tup)
NameError: name 'tup' is not defined
三、关于可变元素与不可变元素
可变元素
t=(1,2,[11,22])
t[2][1]=33
print(t)#由于元组中嵌套的列表的对象id空间和元组本身不同 所以可以改变列表里的元素
执行命令得
(1, 2, [11, 33])
不可变元素(数值 元组)
a=1
b=1
print(id(a))
print(id(b))#这时a与b指向同一个对象空间 id相同
a=2
print(id(a))#a的值改变但不会影响对象1所在的空间而是新创建了一个id空间2
执行命令得
1502570624
1502570624
1502570640
四、逐个赋值一一对应
t=(1,2,'pop')
a,b,c=t
print(a,b,c)#如果t中的元素超过或者小于3个将不能逐个赋值 且报错
执行命令得
1 2 pop
五、元组 运算符
与字符串一样,元祖之间可以使用+号和*号进行运算.这就意味着他们可以组合和复制,运算后生成一个新的元组
Python | 输出结果 | 描述 |
len(1,2,3) | 3 | 计算元素个数 |
(1,2,3)+(4,5,6) | (1,2,3,4,5,6) | 连接 |
('1')*4 | (1111) | 复制 |
3 in (1,2,3) | True | 元素是否存在 |
for x in(1,2,3): print(x,) | 1,2,3 | 迭代 |
六、元素的索引,截取
因为元组也是一个序列,所以我们可以访问元组中的指定位置的元素,也可以截取打印中的一段元素
tu=(1,2,3,4,5)
tu1=(tu[:])
print(tu1)#正向获取
tu1=(tu[::-1])
print(tu1)#反向获取
执行命令得
(1, 2, 3, 4, 5)
(5, 4, 3, 2, 1)
七、元组内置函数
序号 | 方法及描述 | 实例 |
1 | len(tuple) 计算元组的个数 | >>> tuple = ('Google', 'Runoob', 'Taobao')
>>> len(tuple)
3
>>> |
2 | max(tuple) 返回元组中元素最大值 |
>>> tuple = ('5', '4', '8')
>>> max(tuple)
'8'
>>> |
3 | min(tuple) 返回元组中元素最小值 | >>> tuple= ('5', '4', '8')
>>> min(tuple)
'4'
>>> |
4 | tuple(seq) 将列表转换成元组 | >>> list= ['Google', 'Taobao', 'Runoob', 'Baidu']
>>> tuple=tuple(list)
>>> tuple
('Google', 'Taobao', 'Runoob', 'Baidu') |