python基本数据类型之操作

thon注释

当行注视:
# 被注释内容
多行注释:""" 被注释内容 """

 

字符串操作


# 代表单行注释                  
s="hello"                          
print(s*2)   #hellohello           
print(s[2:]) 
# llo,切片操作,从下标2切到最后    
print('a' in s)  #False            
                                  
a='123'                            
b='abc'                            
c=a+b #字符串拼接,效率不好,不推荐使用            
#内置方法   join()  效率高,推进使用                   
d='----'.join([a,b])  
# 123----abc,

 

                                
st="hEllot kitty{name  } is{age  }"
st.count('l')#统计个数
print(st.capitalize())#首字母大写   Hell
print(st.center(50,'-'))#放到中心,50代表'

# -----------hEllo   kitty{name  } i
print(st.ljust(50,'-'))#居左  hEllo
print(st.rjust(50,'-'))#居右  -------
                                  
print(st.endswith('y'))#以什么结尾
print(st.startswith('he'))#以什么开头
                                  
print(st.find('v'))#查找第一个元素的索引,没有为-
                                  
print(st.format(name='alex',age=37)
print(st.format_map({'name':'alex',
print('2'.isdigit())#是否为整数
#print(st.index('qqq'))#查找第一个元素的索引没
print('abc456#'.isalnum())#是否是数字跟字符
print('abc'.isalpha())#是否为字母       
print('123'.isdecimal())#是否为十进制,基本不
print('1234'.isnumeric())#是否为整数    
print('asdA'.islower())#是否为小写      
print('asdA'.isupper())#是否为大写      
print("  ".isspace())#是否是空格(一个或多个) 
print('Abn Av'.istitle())#每一个首字母是否大
print(st.lower())#所有大写变小写
print(st.upper())#所有小写变大写
print('aB'.swapcase())#大写变小写,小写变大写 
print("   aaa   anbbbn".strip())#
st.lstrip()#去左                     
st.rstrip()#去右                     
print('asadfg'.replace('a','11',1))
print('2234562'.rfind('2'))#从右开始找,返
print('a b c'.split(' '))#字符串的变为列表*
print('a b c'.rsplit(' ',1))#从右开始有几
print('aa ba cs'.title())#将首字母都变为大写

 

列表操作

a = ["xiaohu","sanpang","jinxin","daling","xiaoguo"]
#查
print(a[1])
print(a[1:4])#切片取,包前不包后
print(a[1:])#取到最后
print(a[1:-1])#取到倒数第二个
print(a[1::2])#步长为2个,步长有方向
print(a[3::-2])#步长为2个,步长有方向
print(a[-2::-1]) #-表示倒数第几个

#增 insert append
a.insert(1,“xiaowang”)

#修改
a[1]=“aaa”
a[1:3]=[“ss”,“ww”]

#删除remove pop del
a.remove(“xiaohu”)#只能删一个对象
b=a.pop(0)#返回删除的结果
del a[3]#可删任何东西,包括a对象
#count计算列表里元素出现的次数
t = [“a”,“a”,“b”].count(“a”)

合并
a=[1,2,3]
b=[4,5,6]
a.extend(b)#a改变了,b不变
c=a+b#a,b都不改变
print(a.index(1))#返回第一个数据的值

反转
a.reverse()
排序
a.sort()
print(“aa” in a)

 

元组操作

查询
tup1 = ('physics', 'chemistry', 1997, 2000);

tup2 = (1, 2, 3, 4, 5, 6, 7 );

print “tup1[0]: “, tup1[0]
print “tup2[1:5]: “, tup2[1:5]

不允许修改元组,但我们可以对元组进行连接组合,如下实例:
tup1 = (12, 34.56);

tup2 = (‘abc’, ‘xyz’);


# 创建一个新的元组

tup3 = tup1 + tup2;

print tup3;

删除元组
元组中的元素值是不允许删除的,但我们可以使用del语句来删除整个元组,如下实例:
tup = (‘physics’, ‘chemistry’, 1997, 2000);

del tup;

 

字典操作

#python中唯一的映射类型------字典(无序)根据hash算法存放
#id()#打印内存地址
#不可变类型:整形,字符串,元组
#可变类型:列表,字典
#字典的键必须为不可变类型,因为它是唯一的
dict={'name':'zhangqiye','age':'11','sex':'nan'  }
print(dict['name'])
dict1={  }
dict1['name']='sanpang' #可增加,可修改

dict1.setdefault(‘name’,‘wangwu’)#只可增加,修改不了,有返回值(返回字典中的值)
dict1.setdefault(‘age’,’11’)
print(dict.keys())
#dict_keys([‘name’, ‘age’, ‘sex’])
print(dict.values())
#dict_values([‘zhangqiye’, ’11’, ‘nan’])
print(dict.items())
#dict_items([(‘name’, ‘zhangqiye’), (‘age’, ’11’), (‘sex’, ‘nan’)])
dict2={1:2,22:33 }
dict1.update(dict2)
print(dict1)#{‘name’: ‘sanpang’, ‘age’: ’11’, 1: 2, 22: 33 }
#删除  del  clear  pop
del dict[‘name’]
#dict.pop(‘name’)#有返回值
dict.clear()
#dict.popitem()#随机删除

 

集合操作

#作用:去重,关系运算,

#定义:
知识点回顾
可变类型是不可hash类型
不可变类型是可hash类型
#定义集合:
集合:可以包含多个元素,用逗号分割,
集合的元素遵循三个原则:
1:每个元素必须是不可变类型(可hash,可作为字典的key)
2:没有重复的元素
3:无序
注意集合的目的是将不同的值存放到一起,不同的集合间用来做关系运算,无需纠结于集合中单个值
#set把不同的元素集合在一起(不能相同)无序的, frozenset不可变集合,可以用for ,迭代器遍历,用in判断元素是否在集合里
l = [‘zhang’,‘wang’,‘zhang’]
s = set(‘alex li’)
s1 = set(l)
print(s) #{‘ ‘, ‘a’, ‘x’, ‘l’, ‘e’, ‘i’ }
print(s1)#{‘wang’, ‘zhang’ }
print(type(s1))#<class ‘set’>type表示数据的类型

li = [(1,2),‘aa’,1]
ss = set(li)
print(ss)
#{(1, 2), 1, ‘aa’ }
ss.add(78)#增一个元素
ss.update(“nmk”)#增三个元素
print(ss)#{(1, 2), 1, 78, ‘m’, ‘n’, ‘k’, ‘aa’ }
ss.remove(1)#删除
aa = ss.pop()#删除,还有一个clear

print(set(“qwer”) == set(“qwerewq”))#true
print(set(“qwer”) <set(“qwer”))#false子集
a = set([1,2,3,4,5])
b = set([4,5,6,7,8])
aa = a.intersection(b)#交集
print(aa)#{4, 5 }
print(a.union(b))#并集{1, 2, 3, 4, 5, 6, 7, 8 }
print(a.difference(b))#差集{1, 2, 3 }
print(a.symmetric_difference(b))#对称差集{1, 2, 3, 6, 7, 8 }
下面写法等价于上面的,更简单
a|b #并集
a&

b
# 交集

a-b#差集
a^b #对称差集

#父级a是b的父级  >
a.issuperset(b)
#子集  <
a.issubset(b)

 

 

发表评论