python基本数据类型之操作

python注释

当行注视:# 被注释内容 

多行注释:""" 被注释内容 """


字符串操作

# 代表单行注释 
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="hEllo\t 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 a\nbbb\n".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))# 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)


分享到:


相關文章: