数据分析篇--Python基础篇--02数据类型的常用操作和方法

一、字符串

不可变类型 值变 id也变

str1 = 'abc'
print(str1.upper())
str2 = str1.lower()
print(str1)
print(str2)
print(id(str1))		#id为2175911121712
print(id(str2))		#id为2175911920752

(1)占位符 如%s %d

name = input(‘输入名字’)
print('My name is %s' %name)
age = int(input('输入年龄'))      #''中输出的只能是字符串,所以套上int()表示整型
print('My age is %d' %age)

(2)字符串相加相乘

print('abcd'+'efg')
print('abcd'*10)

(3)切片

msg = 'hello world'
print(msg[0])
print(mag[4])
print(msg[0:5:2])    #每两步取一个
print(msg[-1])       #反向取最后一个
print(msg[::-1])     #反向取全部

(4)len

长度方法

msg = 'hello world'
print(len(msg))

(5)in和not in

成员运算方法

print('zhangxi' in 'zhangxi is a student')
print('xxx' ont in 'zhangxi is a student')

(6)增

1.增加
print('zhangxi'+'student')
2.format 方法
#0位置输出'zhangxi',1位置输出18
print('my name is {0}','my age is {1}.format('zhangxi',18)')
3.join方法
str1 = '真正的勇士'
str2 = '敢于直面惨淡的人生'
str3 = '敢于面对淋漓的鲜血'
list = [str1,str2,str3]
print(',',join(list))            #''中是什么就以什么分隔开

(7)删

1.del
name = 'zhangxi'
del name
print(name)

(8) 改

1.lower upper

字符串字母全部变大写或小写

msg = 'ABcdeF'
print(msg.lower())		#全部改为小写
print(msg.upper())		#全部改为大写
2.capitalize

把第一个字母转换成大写

letter = 'abcd'
print(letter.capitalize())
3.split

把字符串切分成列表

msg = 'hello world python'
print(msg.split())
msg1 = 'hello*world*python'			#以*分隔
print(msg1.split('*'))
4.replace

替换

mag = 'zhangxiszz  你好'
print(msg.replace('z','b'))
5.strip

去掉字符串左右两边的字符

user = '         user             '
print(user)
print(user.strip())
6. center, l just , r just

添加自己想要的字符

print('zhangxi'.center(11,'*'))
print('zhangxi'.l just(11),'*')
print('zhangxi'.r just(11),'*')

(9)查

1.find index

查找子字符串在大字符串的那个位置

msg = 'hello world python'
print(msg.find('hello'))
print(msg.find('xxx'))			#没找到返回-1
print(msg.index('world'))
print(msg.index('xxx'))			#没找到报错
2.count

统计一个子字符串在大字符串中出现的次数

msg = 'hello hello hello world world python'
print(msg.count('hello'))
3.isdigit

判断一个字符串里的数据是不是都是数字

msg = '18953'
msg1 = 'asf85445'
print(msg.isdigit(msg))
pring(msg.isdigit(msg1))
4.isalpha

判断每个元素是不是都是字母

msg = '4agsgg486'
msg1 = 'afgagbsg'
print(msg.isalpha(msg))
print(msg.isalpha(msg1))
5.startswith endswith

比较开头元素是否相同

比较结尾元素是否相同

n = 'zhangxi  student'
print(n.startswith.(zhangxi))
print(n.endswith.(student))
6.islower isupper

判断字符串中的值是否全为小写

判断字符串中的值是否全为大写

letter1 = 'ABC'
letter2 = 'abc'
print(letter1.islower())
print(letter2.isupper())

(10) 反转义

1.\n \t
print('hello \n world')		#\n换行符
print('hello \t world')		#横向换行符  相当图一个tab键
2. r
print(r'hello \n world hello \t world')

二、数字型

不可变类型

age = 23
print(age)
print(id(age))
print(type(age))    #整型
weight = 100.8
print(weight)
print(type(weight))     #浮点型

(1)int 整型

记录年龄,等级,号码等

age = 18
print(age)
print(type(age))

(2) float 浮点型

记录身高,体重等

weight = 151.2
print(weight)
print(type(weight))

(3)赋值运算

普通赋值   =
加法赋值  +=
减法赋值  -=
乘法赋值  *=
除法赋值  /=
取余赋值  %=
乘方赋值  **=
地板除赋值  //=

#例:
n = 2
n = n+3
print(n)
##等价于
a =2
a +=3
print(a)

三、布尔类型

不可变类型

a = True
b = False
print(a)
print(id(a))       #id为140733041575760
print(b)
a = False
print(a)
print(id(a))       #id为140733041575792

(1)bool

不仅仅表示真假,还表示有无

所有的数据类型都自带布尔值

None 0 空(空字符串,空列表,空字典)三种情况下布尔值为False,其余全为True

tag = ''
print(type(tag))		#字符串型 
print(bool(tag))		#False
tag1 = ' '
print(type(tag1))		#字符串型
print(bool(tag1))		#True

四、列表

可变类型

list = [1,2,3]
print(list)
print(id(list))       #id为2729665088128
list.append(4)
print(list)
print(id(list))       #id为2729665088128

(1)切片

[起始值:终止值:步长] 默认步长为1

L = ['zhangxi1',168,98,['zhangxi2',60,61]]
print(L[0:3])
print(L[0:3:1])
print(L[0:3:2])
print(L[0:3:-1])		#取空列表
print(L[::-1])			#逆向全取
print(L[3:1:-1])		#逆向取3号和2号索引

(2)len

长度 列表元素的多少 指的是总数

L = ['zhangxi1',168,98,['zhangxi2',60,61]]
print(len(L))

(3)in 和 not in

成员运算

L = ['zhangxi1',168,98,['zhangxi2',60,61]]
print('zhangxi' in L)
print('xxx' ont in L)

(4)count

查看列表某个元素的个数

L = ['zhangxi1',168,98,['zhangxi2',60,61]]
print(L.count(zhangxi1))

(5)index

在列表中从左至右查找指定元素,找到了返回该值的下标/索引

L = ['zhangxi1',168,98,['zhangxi2',60,61]]
print(L.index('zhangxi1'))

(6)增

1.append

在列表末尾追加一个元素 在原值上修改

L = ['zhangxi1',168,98,['zhangxi2',60,61]]
print(L.append('zhangxi0'))
print(L.append('zhangxi0'))		#第二次放  列表中元素再次增加
2.extend

在列表末尾追加多个元素

L = ['zhangxi1',168,98,['zhangxi2',60,61]]
print(L.extend('zhangxi0','zhangxi3'))
3.insert

往指定索引位置前加一个元素

L = ['zhangxi1',168,98,['zhangxi2',60,61]]
print(L.insert(2,'zhangxi0'))

(7)删

1.del

索引删除

L = ['zhangxi1',168,98,['zhangxi2',60,61]]
del L[1]
print(L)
2.remove

指定删除

L = ['zhangxi1',168,98,['zhangxi2',60,61]]
print(L.remove('zhangxi1))
3.pop

pop是从列表里面拿走一个值 按照索引删除值 默认是删除最后一个

L = ['zhangxi1',168,98,['zhangxi2',60,61]]
res1 = L.pop()
print(L)
print(res1)    #此时返回值是最后一个元素

或是指定删除

L = ['zhangxi1',168,98,['zhangxi2',60,61]]
res1 = L.pop(0)
print(L)
print(res1)		#此时返回值是指定的索引元素
4.clear

清空列表

L = ['zhangxi1',168,98,['zhangxi2',60,61]]
print(L.clear())		#返回空列表

(3)改

1.直接改
L = ['zhangxi1',168,98,['zhangxi2',60,61]]
L[0] = 'zhangxi0'
print(L)
2.reverse

反序

L = ['zhangxi1',168,98,['zhangxi2',60,61]]
L.reverse()
print(L)
3.sort

排序 对数字而言的

list = [1,2,5,9,7,6]
list.sort()			#括号里默认有参数为reverse=False
print(list)			#不写默认为正序
list = [1,2,5,9,7,6]
list.sort(reverse=False)		#此时为倒序
print(list)

五、元组

不可变类型

tuple = ['abc']
print(tuple)
print(id(tuple))        #id为2029408346496
tuple1 = [1,2,3]
print(tuple1)
print(id(tuple1))       #id为2029409076096

(1)切片

t = (1,2,'zhangxi',(1,2,'zhangxi'),[1,2,'zhangxi'])
print(t[0:5])
print(t[0:5:1])
print(t[0:5:2])
print(t[0:5:-1])		
print(t[::-1])			
print(t[4:1:-1])	

(2)len

t = (1,2,'zhangxi',(1,2,'zhangxi'),[1,2,'zhangxi'])
print(len(t))

(3) in 和 not in

t = (1,2,'zhangxi',(1,2,'zhangxi'),[1,2,'zhangxi'])
print('zhangxi' in t)
print('xxx' not in t)

(4)count

t = (1,2,'zhangxi',(1,2,'zhangxi'),[1,2,'zhangxi'])
print(count('zhangxi'))

(5)index

t = (1,2,'zhangxi',(1,2,'zhangxi'),[1,2,'zhangxi'])
print(t.index('zhangxi'))

六、字典

可变类型

dict = {'name':'zhangxi','age':'23'}
print(dict)
print(id(dict))         #id为3084829986048
dict['addr'] = 'hebei'
print(dict)
print(id(dict))         #id为3084829986048

(1)len

键值对的个数

info = {'name':'zhangxi','age':'22'}
print(len(info))

(2)in 和 not in

成员运算判断的是key,结果返回布尔类型

info = {'name':'zhangxi','age':'22'}
print('name' in info)
print('hzangxi' not in info)

(3)增

直接赋予一个不存在的key和value 两次输出的原值相同

info = {'name':'zhangxi','age':'22'}
info['addr']='hebei'
print(info)

(4)删

1.clear

清空字典

info = {'name':'zhangxi','age':'22'}
info.clear()
print(info)
2.del

删除某一个键值对

info = {'name':'zhangxi','age':'22'}
del info['name']
print(info)
3.pop

返回值是value 实际上就是拿走了字典的value

info = {'name':'zhangxi','age':'22'}
res = info.pop('name')
print(info)
print(res)
4.popitem

默认删除最后一对键值对 字典无序

拿走的 返回的是一个元组

info = {'name':'zhangxi','age':'22'}
res = info.popitem()
print(info)
print(res)

(5)改

1.直接加
info = {'name':'zhangxi','age':'22'}
info['addr']='hebei'
print(info)
2.updata
info = {'name':'zhangxi','age':'22'}
info.update({'addr':'hebei'})
print(info)
3.setdefault

有则不动/返回原值,无则添加/返回原值

字典中已经存在key则不修改,返回已经存在的key对应的value

info = {'name':'zhangxi','age':'22'}
res = info.setdefault('name','xxx')
print(info)
print(res)
ress = info.setdefault('addr','hebei')
print(info)
print(ress)

(6)查

1.直接查
info = {'name':'zhangxi','age':'22'}
print(info['hebei'])		#查不到会报错
2.get
info = {'name':'zhangxi','age':'22'}
print(info.get('hebei'))		#没有key就返回None,不会报错
3.转换成列表
info = {'name':'zhangxi','age':'22'}
#取出所有的key
print(info.keys())
print(list(info.keys()))
#取出所有的value
print(info.values())
print(list(info.values))
#取出所有的键值对
print(info.items())
print(list(info.items()))

七、集合

可变类型

set = {1,2,3}
print(set)
print(id(set))          #id为2080172703520
set.add(4)
print(set)
print(id(set))          #id为2080172703520

(1)增

add 集合是可变类型 无序

s = {1,2,3}
print(s)
s.add('zhangxi')
print(s)

(2)删

1.pop

从第一个元素删除

s = {1,2,3}
print(s)
s.pop()
print(s)
2.remove

指定删除

s = {1,2,3}
print(s)
s.remove(1)
print(s)

(3)改

1.update
s={1,2,3}
s.update(['zhangxi1','zhangxi2'])
print(s)
2.set
s = {1,2,3}
s1 = list(s)
print(s1)
s1[0] = 7
print(s1)
s = set(s1)
print(s)

此外,set还可用来去重,但有一定的局限性

1.无法保证原数据类型的顺序

2.当某一个数据中包含的多个值全部为不可变类型时才能用集合去重

八、练习

names = ['zhangxi','zhangxi','zhangxi2','zhangxi3']
s = set(names)
print(s)
定义一个列表,列表中的元素有'安琪拉','妲己','韩信’,'典韦’,'吕布'五个元素,然后进行以下操作:
    1.增加两个元素,"小乔’,’貂蝉”
    2.查找'妲己’的索引(下标)
    3.删除’韩信’
    4.将最后一个元素修改为白起’
    5.通过切片输出下标为偶数的元素
L = ['安琪拉','妲己','韩信','典韦','吕布']
L.extend(['小乔','貂蝉'])
print(L)
print(L.index('妲己'))
L.remove('韩信')
print(L)
L[5] = '白起'
print(L)
print(L[0:5:2])

运行结果:

# ['安琪拉', '妲己', '韩信', '典韦', '吕布', '小乔', '貂蝉']
# 1
# ['安琪拉', '妲己', '典韦', '吕布', '小乔', '貂蝉']
# ['安琪拉', '妲己', '典韦', '吕布', '小乔', '白起']
# ['安琪拉', '典韦', '小乔']
用户有这样的一条信息,姓名为翠花,年龄18岁,性别女,请定义一个字典包含了这些信息,然后进行一下操作
    1.增加一个元素,地址为北京
    2.将性别改为男
    3.删除年龄
    4.输出此字典
dic = {'name':'翠花','age':18,'sex':'女'}
dic['addr'] = '北京'
print(dic)
dic['sex'] = '男'
print(dic)
del dic['age']
print(dic)
print(dic.items())
print(list(dic.items()))

运行结果:

{'name': '翠花', 'age': 18, 'sex': '女', 'addr': '北京'}
{'name': '翠花', 'age': 18, 'sex': '男', 'addr': '北京'}
{'name': '翠花', 'sex': '男', 'addr': '北京'}
dict_items([('name', '翠花'), ('sex', '男'), ('addr', '北京')])
[('name', '翠花'), ('sex', '男'), ('addr', '北京')]
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

spiders小张

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值