python数据类型

目录

一、字符串

二、列表

三、元组

四、字典

五、集合

 

 

一、字符串

#1.下标
str = 'abc'
print(str[0])
print(str[1])
print(str[2])
str1 = '012345678'
print(str1[2:5:1])#开始:结束:步长
print(str1[-1:-10:-1])#步长为负,倒叙选取,-1表示最后一个数据

#2.查找find
mystr = 'hello world and itcast and itheima and Python'
print(mystr.find('and'))
pint(mystr.find('and',15,30))#范围查找,开始下标,结束下标
print(mystr.find('ands'))#没有结果返回-1

#index
print(mystr.index('and'))
print(mystr.index('and',15,30))#范围查找,开始下标,结束下标
#print(mystr.index('ands'))#没有则报错

#count
print(mystr.count('and'))
print(mystr.count('and',15,30))#范围查找,开始下标,结束下标
print(mystr.count('ands'))#没有则报错
#rfind 从右侧开始查找
#rindex 从右侧开始查找

#3.替换replace
new_str = mystr.replace('and' ,'he', 2)#替换次数超出子串出现次数,表示替换所有子串
print(new_str)

#4.分割split,返回一个列表,丢失分隔字符
list1 = mystr.split('and',2)
print(list1)

#4.合并join 合并列表里面的字符串为一个大字符串
mylist = ['aa','bb','cc']
new_str = '#'.join(mylist)
print(new_str)

#5.大小写转换
#capitalize():字符串首字母大写
#title():字符串每个单词首字母大写
#upper():字符串转大写
#lower():字符串转小写
#swapcase():字符串大小写转换


#6.删除空白字符
#lstrip():删除左侧空白
#rstrip():删除右侧空白
#strip():删除两侧空白

#7.字符串对齐
#ljust():返回一个字符串左对齐,并使用指定字符(默认空格)填充至对应长度的新字符串
#rjust():右对齐
#center():中间对齐
mystr = 'hello'
print(mystr.ljust(10,'.'))
print(mystr.rjust(10,'.'))
print(mystr.center(10,'.'))

#8.判断真假
#startswith():判断字符串是否以某个子串开头
mystr = 'hello world and itcast and itheima and Python'
print(mystr.startswith('hell'))
#endswith():判断字符串是否以子串结尾
#isalpha():判断字符串是否以字母组成
#isdigit():判断字符串是否均为数字
#isalnum():判断是否数字或字母组合
#isspace():判断是否为空格
#isupper():判断是否为大写
#islower():判断是否为小写 

 

 

 

二、列表List

#列表list,可变类型
name_list = ['Tom','Lily','Rose']
print(name_list[0])
print(name_list.index('Tom'))
print(name_list.count('Tom'))
print(len(name_list[0]))
print('Tom' in name_list)
print('Toms' in name_list)
print('Tom' not in name_list)

#append,列表结尾追加数据,如果数据是一个序列则将这个序列整体追加到结尾
name_list.append([11,22])
name_list.append('wuchen')
print(name_list)

#extend,列表结尾追加数据,如果数据是一个序列则将这个序列数据逐一添加到列表
name_list.extend('wuchen')
print(name_list)
name_list.extend(['xiaoming','xiaohong'])
print(name_list)

#insert(下标,数据)
name_list = ['Tom','Lily','Rose']
name_list.insert(1,'aaa')
#print(name_list)

#index('Tom') 查找Tom值的下标
Print(name_list.index('Tom'))

#del()删除列表或列表下标
name_list = ['Tom','Lily','Rose']
del name_list[0]
#print(name_list)
del name_list
#print(name_list)

#pop()删除指定下标数据,如果不指定则删除最后一个数据,并返回删除的数据
name_list = ['Tom1','Lily1','Rose1']
del_name = name_list.pop()
print(del_name)
print(name_list)

#remove()删除数据(第一个匹配到的数据)
name_list = ['Tom','Lily','Rose']
name_list.remove('Tom')
print(name_list)

#clear()清空列表
name_list = ['Tom','Lily','Rose']
name_list.clear()
print(name_list)

#修改指定下标的数据
name_list = ['Tom','Lily','Rose']
name_list[0] = 'aaa'
print(name_list)

#reverse()逆序
name_list = [1,3,2,4,5,6]
name_list.reverse()
print(name_list)

#sort()排序
name_list = [1,3,2,4,5,6]
name_list.sort()
name_list.sort(reverse=False)
name_list.sort(reverse=True)
print(name_list)


#返回排序后的列表(reverse默认为False): list3 = sorted(list, reverse=True) #copy()复制 name_list = ['Tom','Lily','Rose'] list1 = name_list.copy() print(list1) print(name_list) #遍历 name_list = ['Tom','Lily','Rose'] i = 0 while i < len(name_list):     print(name_list[i])     i += 1 #(for更优) for i in name_list:     print(i) #列表嵌套 name_list = ['Tom','Lily','Rose',['张三',['李四','ss'],'王二'],['xiaoming','xiaohong','wanggang']] print(name_list[3][1][1]) #案例:随机分配老师到办公室 import random teachers = ['A','B','C','D','E','F','G','H'] offices = [[],[],[]] i = 1 for name in teachers:     num = random.randint(0,2)     offices[num].append(name) for office in offices:     print(f'办公室{i}的人数是{len(office)},老师分别是:')     for name in office:         print(name,end=' ')     print()     i += 1

 

 

三、元组Tuple

#元组tuple,不可变类型
t1 = (10,20,30)
print(type(t1))
t2 = (10,)#单个数据必须加逗号
print(type(t2))
t3 = (10)
print(type(t3))#数据类型是int

#
仅支持查找操作 print(t1[0]) print(t1.index(10)) print(t1.count(10)) print(len(t1)) #如果元组里有列表,则列表的数据是可以修改的 t1 = ('aa','bb','cc','dd',['ww','yy']) t1[4].append('11') print(t1)

 

 

四、字典Dict

# 字典dict,键值对,可变类型
dict1 = {'name':'Tom','age':21,'gender':''}
dict2 = {}
dict3 = dict()
print(type(dict1))
print(type(dict2))
print(type(dict3))
# 新增
dict1['id'] = 110
print(dict1)
# 修改
dict1['name'] = 'Rose'
print(dict1)
# 删除
del dict1['name']
#del(dict1)
print(dict1)

# 查找
# get(key,默认值)
dict1 = {'name':'Tom','age':21,'gender':''}
print(dict1.get('name'))
print(dict1.get('id',110))
print(dict1.get('id'))
# keys() 查找所有key
print(dict1.keys())
# values 查找值
print(dict1.values())
# items() 查找键值对,返回元组
print(dict1.items())

#遍历
dict1 = {'name':'Tom','age':21,'gender':''}
for key in dict1.keys():
    print(key)
for value in dict1.values():
    print(value)

 

 

 

五、集合Set

# 集合set,可变类型,不重复的数据,没有顺序,不支持下标
s1 = {10,20,30}
print(type(s1))
print(s1)
s2 = {10,20,30,40,50,20,10}
print(type(s2))
print(s2)
s3 = set('abcdefg')
print(s3)

# 创建空集合只能用set()
s4 = set()
print(s4)

# 添加数据add(),单一数据,不能追加列表
s1.add(100)
print(s1)

# 添加数据update(),可以追加数据序列
s1.update([10,20,30,40,50,60])
print(s1)

# remove()删除指定数据,数据不存在报错
s1.remove(100)
print(s1)

# discard()删除指定数据,数据不存在不报错
s1.discard(10)
print(s1)

# pop()随机删除某个数据,并返回这个数据
print(s1.pop())
print(s1)

# 查找数据 in/not in
print(10 in s1)
print(10 not in s1)

# 运算
a-b : a有b没有 
a|b:ab并集
a&b:ab交集
a^b:ab交集之外的集合

 

posted @ 2021-07-17 19:11  舍得先森  阅读(71)  评论(0)    收藏  举报