python数据类型
主要内容:
1. 字符串
① 定义字符串:
name = 'freedom'
name
**输出:
Out[]: 'freedom'*
② 变量与字符串拼接:
name+'world' #字符拼接`
**输出:
Out[]: 'freedomworld'
重复输出:
name *3
**输出:
'freedomfreedomfreedom'
③ 字符串函数
Ord() 字符的ASCII码值
Split() 字符串切片,默认以‘ ’空格作为分割符号
isnumeric() 判断是否为全数字
split() 字符串分割
判断是否为全数字:
num = input("请输入:")
type(num)
'是否为全数字'
num.isnumeric()
**输出:
请输入:123
Out[]: True
④ 字符串分割:
string = 'this is my sentence.'
string.split(' ')
**输出:
['this', 'is', 'my', 'sentence.']
练习
获取图片名称:
url = 'http://pic.xiudodo.com/figure/00/00/33/16/73/1655bda6aabbcd26.jpg'
url.split('/')[-1]
**输出:
Out[]: '1655bda6aabbcd26.jpg'
获取部分路径:
url1 = 'pic.xiudodo.com/figure/00/00/33/16/73/1655bda6aabbcd26.jpg'
first = url1.index('/')
last = url1.rindex('/')
url1[first+1:last]
**输出:
Out[]: 'figure/00/00/33/16/73'
格式化输出:
print('%s您好! 您在淘宝消费的%d元产品,需要支付运费%.2f元'%('小可爱',100,12.567))
**输出:
小可爱您好! 您在淘宝消费的100元产品,需要支付运费12.57元
2、 列表
① 访问列表
lst = [1,2,3,4,5,6,7,8,9]
print('lst[0]=',lst[0])
② 更新元素
lst[1] = 20
print('更新后的列表:',lst)
字符串也可以更改成列表
name = 'freedom'
list(name)
list(range(1,10)) #生成1-9元素的列表
data = list(range(1,5))*3
print(data)
data.insert(7,2) #在指定位置插入元素
data.sort() #列表排序 默认升序
print(data)
data.sort(reverse = True)
print(data)
3、 元组
元组的值不能被修改
①定义
tup = (1,2,3,4)
tup2 = ('张三') #不是元组!!解释器会认为定义的是字符串
print(type(tup2))
tup2 = ('张三',) #需要加个逗号
type(tup2)
**输出:
<class 'str'>
tuple
② 元组的使用
def fun(a,b):
return a+b,a*b,a**b
print(fun(2,3))
type(fun(2,3))
**输出:
(5, 6, 8)
tuple
tup2 *3 #原数据并没有修改
list(tup) #原数据依然没有修改
tup3 =('zhang','li',[1,2,3,4],'wang')
tup3[2][2] = 10
print(tup3)
userinfo=[tuple(range(1,4)),tuple(range(4,8)),tuple(range(8,12))]
print(userinfo[1:3])
print(userinfo[1:3][1:3]) #不能进行列操作
4、字典
schoolInfo = {'schoolName':'重庆大学','schoolAddress':'重庆市沙坪坝区大学城','schoolAge':158}
print(schoolInfo)
schoolInfo = {'schoolName':'重庆大学','schoolAddress':'重庆市沙坪坝区大学城','schoolAge':158,'schoolName':'重庆邮电大学'}
print(schoolInfo)
schoolInfo = {'schoolName':'重庆大学','schoolAddress':'重庆市沙坪坝区大学城','schoolAge':158,'schoolNum':40000}
print(schoolInfo)
del schoolInfo['schoolNum']
print(schoolInfo)
① 字典创建及访问
字典的键不可以是列表
可以多层定义:
cqschool = {
'university':{
'Art':{'name':'中外美学'},
'Music':'pass',
},
'highSchool':'',
'middleSchool':'qinghua',
}
cqschool['university']['Music']
② 字典方法
schoolInfo.keys() #返回所有键的列表
schoolInfo.values() # 所有值
schoolInfo.items() # 所有键值对,元组
for k,v in schoolInfo.items():
print(k,v,sep='==>')
5、 集合
① 集合的一些操作
set1 = set([1,2,3,4]) #定义集合
set1.add(5) #追加元素
print(set1)
set1.remove(3) #删除元素
print(set1)
set2 = set([1,2,3,4,5])
set3 = set({3,4,5,6,7})
set2&set3 #交集
set2|set3 #并集
6、 ZIP压缩
要求数据完整性
#数据定义
lst_names = ['zhang','li','wang','ma']
lst_ids = ['201700001','201700002','201700003','201700004']
lst_score = [92.5,64,72.5,59,100]
①列表形式
list(zip(lst_ids,lst_names,lst_score))
②字典形式
dict(zip(lst_ids,lst_names)) #键值对
dict(zip(lst_ids,zip(lst_names,lst_score))) #从内到外进行处理
7、 bool类型转换
对比:
bool('') #空字符串 false
bool(' ') #空格字符串 true
bool(None)
bool(0)
bool(0.00)