数值,布尔类型,字符串(字节),列表,元组,字典,集合
(1)数值类型:
整数,浮点数,复数,布尔类型(其中浮点数具有不精确性,例如0.1+0.2==0.3,输出结果为False)
(2)字符串和字节
字符串类型是不可变的,有序的,元素可重复的类型
x=‘abc’
y=123
索引 字符串名字[index]
index取值范围:正数,0:从左到右 负数:从右到左
-len()----len()-1 越界报错(和索引相关的很多方法,只要索引不存在都会报错)
len(对象) 返回对象的长度
切片 字符串名字[start : end : step]
start的默认值是按照step的方向上的第一个元素
step的默认值是1,end默认值是按照step的方向上的最后一个元素
x=‘hello’
print(x[::-1])
print(x[-100:100])
字节:占用8个数据位
(3)列表
python中最重要的数据类型,可以容纳多个元素,元素的类型可以不一致,列表是可变的数据对象
li=['a','b','c',1,2,3[4,5]]
li[2]='new'
输出的结果中c变为new
列表的遍历
for i in li:
print(i)
L=['a','b','c']
#L[index] index:0 1 2
#range(start : end : step) range(0,3)
for index in range(0,3):
print(L[index])
>>a
b
c
L[index]=L[index]+'_new'
print(L[index])
>>a_new
b_new
c_new
列表推导式:
快速形成一个列表
语法:[新列表中的每个元素表达式 for i in 迭代对象]
li=['a','b','c']
#['a_new','b_new','c_new']
print([li[index]+'_new'] for index in range(3)])
>>['a_new','b_new','c_new']
print([i+'_new' for i in li])
>>['a_new','b_new','c_new']
(4)元组
元组是不可变类型
t=(1,2,3)
#元组是以括号表示,且不可更改
(5)字典
键值对
键:必须是不可变类型
字典是无序的(python3中修正为有序)
字典中的key是不可重复的
d={1:'a',2:'b',3:'c'}
print(d)
字典使用key访问value或者添加、修改键值对
字典的遍历:keys() values() items()
for i in d.items:
print(i)
>>{1:'a',2:'b',3:'c'}
for k,v in d.items():
print(k,v)
>>1 a
2 b
3 c
(6)集合:特殊的字典,字典中的key
用来去除重复
li=[1,2,3,4,1,2,3,5,6]
print(set(li))
>>{1,2,3,4,5,6}
如果使用流程控制去除重复的问题?
li=[1,2,3,4,1,2,3,5,6]
li_new=[]
for i in li:
if not i in li_new:
li_new.append(i)
print(li_new)
>>[1,2,3,4,5,6]