一、元组转换
数字
tu = (1)
tu1 = (1,)
print(tu,type(tu))
print(tu1,type(tu1))
执行输出:
1
(1,)
字符串
tu = ('lao')
tu1 = ('lao',)
print(tu,type(tu))
print(tu1,type(tu1))
执行输出:
lao
('lao',)
列表
tu = ([1,2,3])
tu1 = ([1,2,3],)
print(tu,type(tu))
print(tu1,type(tu1))
执行输出:
[1, 2, 3]
([1, 2, 3],)
总结:
对于元组:如果只有一个元素,并且没有逗号,此元素数据类型不会改变。
如果结尾有逗号,就是元组类型
元组转换为列表
tu = (1,2,3)
li = list(tu)
print(li)
执行输出:
[1, 2, 3]
列表转换为元组
tu = [1,2,3]
li = tuple(tu)
print(li)
执行输出:
(1, 2, 3)
字符串直接转换为元组是没有方法的。
除非把字符串转换为列表,再转换为元组
数字,字符串,列表,元祖,字典对应的布尔值的False分别是什么?
数字0
字符串 ''
列表 []
元组 ()
字典 {}
二、列表的坑
将索引为奇数的元素删除
li = ['laonanhai','python','alex','wusir','egon','ritian','nvsheng']
正常写法
li = ['laonanhai','python','alex','laonanhai','egon','ritian','nvsheng']
for i in li:
if li.index(i) % 2 == 1:
li.pop(li.index(i))
print(li)
执行输出:
['laonanhai', 'alex', 'laonanhai', 'ritian', 'nvsheng']
输出的结果,并不是我想要的,怎么办呢?有3种写法
第一种,使用切片,最简单的
li = ['laonanhai','python','alex','laonanhai','egon','ritian','nvsheng']
del li[1::2]
print(li)
执行输出:
['laonanhai', 'alex', 'egon', 'nvsheng']
第二种,使用新列表覆盖
li = ['laonanhai','python&