python基本数据类型

python的基本数据类型有数字,字符串,列表,元组,字典,集合。其中数字,字符串和元组是不可变数据类型,列表,字典和集合是可变数据类型

数字

数字支持int,float,bool,complex(复数)。其中内置函数type()可以查看变量的基本数据类型。

字符串

字符串用单引号'或双引号''括起来,其中用' '或者" "来表示空字符串。

字符串是有索引的从0开始。还有切片操作,其中切片的起始值到终止值要与步长一致。比如str=[1,10,-1]是错误的,因为切片是从左往右,但步长却是从右往左的。

python用反斜杠\来转义字符。如\续行符,\\反斜杠符号,\n换行,\t横向制表符等等。

取消转义可以用字母r。

操作符:+用于连接字符串,*用于重复字符串。成员运算符:in和not in。

常用方法:

①split():在指定的分隔符拆分字符串,返回一个列表。

data='helloworld'
new_data=data.split('o')  
print(new_data)  #['hell', 'w', 'rld']

②replace(old,new):对字符串中的字符进行替换,返回一个新的字符串。

data='2000-01-01'
new_data=data.replace('-','')
print(new_data)   #20000101

③.join():将可迭代的对象以某个字符进行拼接,并生成一个新的字符串。

data='12345'
datas='*'.join(data)
print(datas)  #1*2*3*4*5

④strip():去除字符串两边的空白符(\r,\t,\n),返回一个新的字符串。

以上几个方法都不会对原字符串进行修改,而是返回了一个新的字符串或列表。

⑤find():在字符串中搜索第一个指定的值并返回索引位置,找不到返回-1。

⑥index():在字符串或列表中搜索第一个指定的值并返回索引位置,找不到报错。

⑦isdigit():如果字符串中的字符都是数字返回True。

列表

列表用方括号[]表示,其中[]表示空列表。列表也是有索引的跟字符串一样也是从0开始。

操作符:+用于连接列表,*用于重复列表。

常用方法:

①append():在列表最后添加一个元素。

②pop(索引位置):从列表删除一个数据,默认删除最后一个相当于pop(-1),有返回值,返回的是删除的数据。

l=[1,2,3,4,5]
print(l.pop(1))  # 2 返回值为删除的数据
print(l)   #删除数据后的列表[1,3,4,5]

③remove():删除某个数据(只能删除最近的一个)

l1=[1,2,3,4,3,2,1]
l1.remove(3)
print(l1) #[1, 2, 4, 3, 2, 1]只能删除最近的一个目标数

④extend(可迭代对象):把对象中的数据一个一个添加到列表。

data1=[1,2,3]
data2=[4,5,6]
data1.extend(data2)  
print(data1)  #[1, 2, 3, 4, 5, 6]

⑤clear():清空列表中的数据。

⑥copy():复制一个列表,复制后的列表与原列表无关。

l1=[1,2,3]
l2=l1.copy()
l1.append(4)
print(l1)  #[1,2,3,4]
print(l2)  #[1,2,3]

⑦del:删除变量,这是一个公共方法。

l=[1,2,3]
del l[0]  #或者del(l[0])
print(l)  #[2,3]

⑧reverse():反转字符串中的元素。

元组

元组与列表相似,不同之处在于元组中的元素不能修改,元组用小括号()表示。

注:当元组里只有一个数据时要在数据后面加上逗号,否者括号会当成运算符表示,比如a=(1)这里a的数据类型为int型,b=(1,)这里b的数据类型就为元组。

元组也是有索引的从0开始,可以进行截取,组合等。元组中的值是不允许修改的,但可以通过+来连接两个元组;元组中的值是不允许删除的,但可以通过del语句来删除整个元组。

#删除整个元组
a=(1,2,3)
del a
print(a)   #元组删除后会有异常信息:NameError: name 'a' is not defined

字典

字典是另一种可变容器模型,并可储存任意类型对象,用大括号{}表示。

字典的每个键值 key=>value 对用冒号 : 分割,每个对之间用逗号(,)分割,整个字典包括在花括号 {} 中 ,格式所示:d = {key1 : value1, key2 : value2, key3 : value3 }

注:字典是没有索引的,通过键来添加修改数据。键是唯一的不可变的,但值可不必。

常见用法:

①修改添加元素:

d={'荒天帝':'在,我一直都在','叶天帝':'谁在称无敌','王腾':'我有成帝之资'}
#修改元素
d['叶天帝']='看我九秘'
#添加元素
d['楚天帝']='该死的红毛老贼'
print(d) #{'荒天帝': '在,我一直都在', '叶天帝': '看我九秘', '王腾': '我有成帝之资', '楚天帝': '该死的红毛老贼'}

②删除元素:del dict[key]或者del pop(key)。

③dict.get(key,default=None):返回指定的键值,如果键不存在则返回default设置的默认值。

dict={'苹果':2,'西瓜':4,'香蕉':10}
print(dict.get('苹果',0)) #2
print(dict.get('西瓜',0)+1) #5
print(dict.get('菠萝',0))  #0

④dict.items():返回一个这样的列表[(key,value),(key,value),(key,value)]

d={'苹果':2,'西瓜':4,'香蕉':10}
print(d.items()) #dict_items([('苹果', 2), ('西瓜', 4), ('香蕉', 10)])

这里在for循环遍历的时候有这样的操作比如for name,value in d.items()

d={'苹果':2,'西瓜':4,'香蕉':10}
for name,value in d.items():
    if value>=10:
        print(name,value)  #香蕉 10

⑤dict.keys()和dict.values():返回字典的所有键或值。

集合

集合(set)是一个无序的不重复元素序列,用大括号{}表示。

注:集合和字典一样也是没有索引的,所以不能被切片。

可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。

常见操作:

①添加元素:a.add(100)将100添加到集合a中,如果元素存在则不进行操作。

②移除元素:a.remove(100)将100从集合中移除,如果元素不存在则发生错误。

③随机删除集合中的一个元素:a.pop()。

④清空集合:a.clear()。

其他

压缩:当一个变量里包含多个数据时,会默认压缩数据并以元组的方式储存。

aa='黑皇','一条黑狗'
print(aa)  #('黑皇', '一条黑狗')
name,dog=aa  #解压
print(name,dog) #黑皇 一条黑狗

类型转换

①字符串的小数不能转换成int型,字符串的字母中文不能转换成int型。

②所有数据类型都可以转换成字符串,int型,float型都可以转换成字符串。

③字符串的字母中文不能转换成float型,但字符串的小数整数可以转换成float型。

④int型和float型可以互相转换。

⑤字典转换成字符串是key转换。

公共操作:

①reversed():倒置

②sum,len,del,min,max..:其中sum对于字典只能对key求和。

③in和not in:判断数据是否在容器中。

④enumerate:索引映射,将索引映射给容器数据。

l2=[10,11,12]
print(list(enumerate(l2)))  #[(0, 10), (1, 11), (2, 12)]索引映射,强制转换成列表
for index,data in enumerate(l2,start=0):  #默认索引为0,返回的是可迭代对象,所以可以用for循环
    print(index,data,end=',') #0 10,1 11,2 12,

列表推导式

print(sum([i for i in range(1,101,2)])) #求1-100内所有奇数和
print([i for i in range(10)]) #打印0-9
print([0 for i in range(10)]) #打印10个0
print([i for i in range(11) if i%2==0]) #打印0-10之间的偶数
print([str(i) for i in range(10)]) #把0-9变成字符串

三元表达式

#判断两个数的大小
a,b=1,2
print('a更大') if a>b else print('b更大') #b更大

三元表达式要写在for循环前面。

#过滤列表中的偶数,如果为奇数则赋值为0
l=[1,2,3,4,5,6,7]
print(list(i if i%2==0 else 0 for i in l)) #[0, 2, 0, 4, 0, 6, 0]

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值