码迷,mamicode.com
首页 > 编程语言 > 详细

python基本数据类型之操作

时间:2018-05-10 17:29:40      阅读:264      评论:0      收藏:0      [点我收藏+]

标签:name   inxi   zha   多个   case   dex   orm   def   jin   

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))#<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)

python基本数据类型之操作

标签:name   inxi   zha   多个   case   dex   orm   def   jin   

原文地址:https://www.cnblogs.com/IT-Scavenger/p/9020101.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!