python 基本数据类型
数字
字符串
元组
列表
集合
字典
Number数字类型
python Number数字类型有以下几种:
整数(int):
长整数(long):python3已取消这个
浮点数 (float) :
复数(complex):
增:
直接赋值:a=1
删
删除对象
del a
操作
1.支持类型操作符比如 ‘>=’
2.支持算术运算符,比如‘+’
3.支持位操作符。比如‘与或’
4.支持数据之间类型的转换
int()
float()
查
直接读取变量
String字符串数据类型
Python中的字符串用单引号(’)或双引号(")括起来,同时使用反斜杠‘\’转义特殊字符。
增:
直接赋值:a=‘bb’
删
整块删除,直接删除对象
del a
如果是删除某个字符,只能是重新赋值
改
字符串不可变,只能重新赋值。以下操作都算重新赋值
1.字符串拼接‘+’
2.字符串重复操作‘*’
(+) 是字符串的连接符, 星号 (*) 表示复制当前字符串,紧跟的数字为复制的次数
#!/usr/bin/python3
str = 'Runoob'
print (str * 2) # 输出字符串两次
print (str + "TEST") # 连接字符串
执行以上程序会输出如下结果:
RunoobRunoob
RunoobTEST
3.去除字符
默认空格
>>> a=' yanjun '
>>> a.strip()
'yanjun'
- 替换字符
>>> a.replace('y','Y')
' Yanjun '
- 切割字符串
>>> a='yang jiajiang'
>>> (user ,name1)=a.strip('\n').split()
>>> print user
yang
查
1.直接读取变量
2.获取下标
a[0]
3.字符切片读取
a[0:1]
#!/usr/bin/python3
#常见的切片操作
str = 'Runoob'
print (str) # 输出字符串 Runoob
print (str[0:-1]) # 输出第一个到倒数第二个的所有字符 Runoo
print (str[0]) # 输出字符串第一个字符 R
print (str[2:5]) # 输出从下标第二个开始到小标第四个的字符,注意不是第二个到第五个。noo,所以如果要取后面的数据,建议使用以下[2:]
print (str[2:]) # 输出从第三个开始的后的所有字符 noob
print (str[:2]) # 输出第一个到第二个的字符 Ru
- 查找字符所在下标
>>> a.find('y')
0
5.成员符号操作
in
not in
6.字符长度
len()
列表数据类型
列表中的元素是可以改变的
增
给一个变量赋值一样:
a=[]
1.追加元素
append()
>>> a=[]
>>> a.append(123)
>>> print a
[123]
>>> a.append(345)
>>> print a
[123, 345]
2.插入元素
insert(),可以指定下标位置插入数据
>>> a.insert(2,23)
>>> print a
[123, 345, 23]
3.合并列表
a.extend(b)
删
del a[2]
a.remove(5) #删除5的数字,如果是字符串要加双引号
a.pop() 删除最后一个
改
a = [1, 2, 3, 4, 5, 6]
a[1]=1.5
a=[1, 1.5, 3, 4, 5, 6]
查
切片查询
a = [1, 2, 3, 4, 5, 6]
print a[:] 取整个列表
print(a[2:-1]) # -1表述倒数第二个
[3, 4, 5]
print(a[2:0]) # 第二个取到全部
print(a[2::2]) # 第隔一个数取值
[3, 5]
统计
print(a.count(6)) 统计数字为6的个数,如果是字符串要加双引号
排序
a.reverse() 倒序
a.sort() 正序
查找元素所在下标
print a.index(23)
列表元素个数
len()
循环读取列表数据
list1 = [1, 3, 5, 7, 100]
# 通过循环用下标遍历列表元素
for index in range(len(list1)):
print(list1[index])
# 通过for循环遍历列表元素
for elem in list1:
print(elem)
# 通过enumerate函数处理列表之后再遍历可以同时获得元素索引和值
for index, elem in enumerate(list1):
print(index, elem)
元组数据类型
元组是不可以改变的。元组不可变指的是类型以及id,但元组内如果有列表等可变对象,元组的值是可以变的,这个角度说,元组又是可变的。python中所说的可变与不可变全部说的id(内存地址)
增
定义一个变量就是
a=()
删
只能删除整体
del a
改
值不可以改
查
同列表
字典数据类型
字典是键(key) : 值(value)对集合。
键(key)必须使用不可变类型。
在同一个字典中,键(key)必须是唯一的,所以不存在数据重复的问题。
注意:python3.6之前字典是无序的,python3.6后(含)中字典变成有序了
增
a={} # 创建空字典
>>> a={}
>>> a['b']=1
>>> print a
{'b': 1}t
dict函数创建字典
>>>dict() # 创建空字典
{}
>>> dict(a='a', b='b', t='t') # 传入关键字
{'a': 'a', 'b': 'b', 't': 't'}
组成字典:
c=dict.fromkeys([2,3,4],[1,2,{2:'l'}])
print(c)
{2: [1, 2, {2: 'l'}], 3: [1, 2, {2: 'l'}], 4: [1, 2, {2: 'l'}]}
删
>>> a={'c': 22, 'b': 1, 'd': 33}
>>> del a['c'] #del
>>> print a
{'b': 1, 'd': 33}
>>> a.pop('b') #pop()
1
>>> print a
{'d': 33}
>>> a.clear() #clear()
>>> print a
{}
改
a[‘b’]=2
update 函数
>>> a={'c': 22, 'b': 1, 'd': 33}
2
>>> A={'c':23,'e':44}
>>> a.update(A)
>>> print a
{'c': 23, 'b': 1, 'e': 44, 'd': 33}
字典key,value互换
方法一:
a_dict = {'a': 1, 'b': 2, 'c': 3}
{value:key for key, value in a_dict.items()} {1: 'a', 2: 'b', 3: 'c'}
方法二:
a={}
for k,v in a_dict.iteritems():
a[v]=k
查
可使用in或者not in 查找判断
>>> a={'c': 22, 'b': 1, 'd': 33}
>>> print a['c'] #[]读取
22
>>> print a.get('c') #get读取
22
>>> print a.keys()
['c', 'b', 'd']
>>> print a.values()
[22, 1, 33]
循环读取数据
for i in dict:
print(i,dict[i]) # 记得是[]中括号
集合数据类型
是一个无序不重复元素的序列。
基本功能是进行成员关系测试和删除重复元素。
可以使用大括号({})或者 set()函数创建集合
增
空集合
必须用 set() 而不是 { },因为 { } 是用来创建一个空字典
a=set()
添加单个数据
>>> a={1,2,'aa','bb'}
>>> a.add('cc')
>>> a.add(3)
>>> print a
set(['aa', 1, 2, 3, 'bb', 'cc'])
添加多个数据
参数可以是列表,元组,字典等
>>> a.update([11,22])
>>> print a
set(['aa', 1, 2, 'bb', 11, 22])
删
删除重复数据
student = ({'Tom', 'Jim', 'Mary', 'Tom', 'Jack', 'Rose'})
print(student) # 输出集合,重复的元素被自动去掉
删除单个数据
a.revove()
改
不能像列表那样对指定数据做修改。
可以有集合类型操作符,比如交集,并集
查
由于集合是无序的,不可以通过索引来切片读取集合数据。
只能通过in或者not in 进行遍历查询。
以上数据常用的运算符
常用运算符:
is is not 身份运算符
in not in 成员运算符
not or and 逻辑运算符