一、基本数据类型及常用方法

岁酱吖の 提交于 2020-04-07 11:34:04

一. 数字 int

    1. int 将字符串转换成数字

 

a="123"
print(type(a),a)
a=int(a)
print(type(a),a)

 

#指定字符串进制
a="0011"
a=int(a,base=16)
print(a)

  2. bit_length 当前数字转换为二进制数至少需要几位数

a=11
b = a.bit_length()
print(b)

 二. 字符串str

1. capitalize        首字母大写

str='hello'
v=str.capitalize()
print(v)运行结果:Hello

2. casefold       转换为小写,与lower功能相同,但比lower功能强大

str='HeLLo'
v=str.casefold()
print(v)运行结果:hello

3. center     将字符串放在中间,并用指定字符(0或1个,不指定默认空格)填充两边,使达到指定长度

str='hello'
v=str.center(20,"#")
print(v)运行结果:#######hello########

 4. count     计算字符串中指定子字符串的个数,可指定其实结束位置,左闭右开

str="buhuanfhgujk"
v1=str.count('u')
v2=str.count('u',0,10)
v3=str.count('u',0,9)
print(v1,v2,v3)运行结果:3 3 2

 5.  endswith   判断是否以指定字符串结尾,可指定判定区间,左闭右开,startswith同

str="shueign"
v=str.endswith('gn')
v1=str.endswith('h',0,1)
v2=str.endswith('h',0,2)
print(v,v1,v2)运行结果:True False True

 6.  find  找到指定字符串的开始位置,未找到返回-1,左闭右开

         index  也是查找字符串位置,但是未找到会报错

         rfind  从右侧开始查找

str="husjgjabugblangu"
v=str.find('gj')
v1=str.find('g',5,9)
v2=str.find('g',5,10)
print(v,v1,v2)运行结果:4 -1 9

 7. format  将一个字符串中的占位符替换为指定的值

str='I am {name}.I am {year}'
v=str.format(name="hao",year="20")
print(v)

str1='I am {0}.I am {1}'
v1=str1.format("hao","20")
print(v1) 
# 格式化,传入的值必须是 {"name": 'alex', "a": 19}
test = 'i am {name}, age {a}'
 v1 = test.format(name='df',a=10)
 v2 = test.format_map({"name": 'alex', "a": 19})

8.  isalnum  字符串中是否只包含 字母和数字

     isalpha   只包含字母

     isdigit   只包含数字

     isnumeric  是否只包含数字字符

str="hue13@"
v1=str.isalnum()
print(v1)

9.  islower   字符串是否全部是小写

     isupper  字符串是否全部是大写

     swapcase   大写转小写,小写转大写

abc="sajgna123"
v1=abc.islower()
print(v1)

aaa="ABV123"
v2=aaa.isupper()
print(v2)
运行结果:
True
True

10. isspace  是否只包含空白

11. istitle  是否是标题化的,即每个单词的首字母都是大写

12. join  以指定字符串作为分隔符,将 seq 中所有的元素(的字符串表示)合并为一个新的字符串

aaa="ABV123"
v1='_'.join(aaa)
print(v1)
运行结果:
A_B_V_1_2_3

13. len 计算字符串长度

14. ljust   使用指定字符(默认为空)左对齐填充字符串,使字符串达到指定长度

      rjust  右对齐

aaa="sijg"
v1=aaa.ljust(20,"*")
print(v1)
运行结果:
sijg****************

15.  lstrip   截掉字符串左边的空格或指定字符,并返回截取后的值(不指定参数时,默认截掉空格)

       rstrip   删除左侧的

       strip   删除两边的

aaa="sdniga"
v1=aaa.lstrip("s")
print(v1,aaa)
运行结果:
dniga     sdniga

 16. maketrans  创建字符映射的转换表

aaa="abcde"
trans=str.maketrans("abcde","12345")
print(aaa.translate(trans),aaa)
运行结果:
12345    abcde

 17: replace  将字符串中的字符替换为指定字符(可选择替换几次)

aaa="sjsijg"
v1=aaa.replace("s","L")
print(v1)
运行结果:
LjLijg

 18. split  将字符串以指定字符分割,并删除该字符

aaa="asdfghjk"
v1=aaa.split("g")
print(v1)
运行结果:
【‘asdf’,'hjk'】

 三、列表list

1. append  在列表末尾添加新的对象(只能加一个)

    extend   在列表末尾一次性追加另一个序列中的多个值

li=['aaa','bbb','ccc']
li.append('ddd')
print(li)
运行结果:
['aaa','bbb','ccc','ddd']

 

li=['aaa','bbb','ccc']
li.extend(['ddd','eee'])
print(li)
运行结果:
['aaa','bbb','ccc','ddd','eee']

2. count  统计某个元素在列表中出现的次数

li=['aaa','bbb','ccc','aa','aaa']
v1=li.count('aaa')
print(v1)
运行结果:
2

 3.index   找出列表中某个值索引位置(不存在的值会报错)

li=['aaa','bbb','ccc','aa','aaa']
v1=li.index('aaa')
print(v1)
运行结果:
0

 4. insert  将对象插入列表(需指定插入位置,一次只能插入一个对象)

li=['aaa','bbb','ccc']
li.insert(-2,'aa')
print(li)
运行结果:
['aaa','aa','bbb','ccc']#如指定位置为-1,则找到当前-1位置的字符串为‘ccc’,降‘aa’插入到它的左边

 5. pop  移除列表中的一个元素(默认最后一个元素),并且返回该元素的值

     remove  移除列表中某个值的第一个匹配项,无返回值

      clear   清空列表

li=['aaa','bbb','ccc','aa','aaa']
v1=li.pop()
print(v1,li)
运行结果:
aaa ['aaa','bbb','ccc','aa']

 

li=['aaa','bbb','ccc','aa','aaa']
v1=li.remove('bbb')
print(v1,li)

运行结果:
None    ['aaa','ccc','aa','aaa']

 6. reverse  反向列表中元素

 7. copy  复制列表

 8.  sort  对列表中的元素进行排序

aa=['s','a','d','123']
aa.sort()
print(aa)

运行结果:
['123', 'a', 'd', 's']

  

 四.  元组

1. 元组不可修改

2. count  计算元组中指定字符的个数

3. index  指定字符在元组中的位置

4. 元组切片  

aa=('aaa','bbb','bbb','sh','si','eu','ei')
bb=aa[2:7:2]      #起始位置2,结束位置7,步长2
print(bb)

运行结果:
('bbb', 'si', 'ei')

五.  字典 dict

1. 字典由键值对组成

    键的类型必须是不可变的数据类型,如字符串/数字/元组

2. 增删改查

#增
s={'a':'shu','b':'ueng',2:{'11':44}}
s['c']='hu'
print(s)
运行结果:
{'a': 'shu', 'b': 'ueng', 2: {'11': 44}, 'c': 'hu'}
aa={'a':'shu','b':'ueng',2:{'11':44}}bb={'c':'hh','d':'ee'}aa.update(bb)print(aa)运行结果:{'a': 'shu', 'b': 'ueng', 2: {'11': 44}, 'c': 'hh', 'd': 'ee'}

  

#删
s={'a':'shu','b':'ueng',2:{'11':44}}
s.clear()
print(s)
s={'a':'shu','b':'ueng',2:{'11':44}}
del s['a']
print(s)

  

#改:
s={'a':'shu','b':'ueng',2:{'11':44}}
s['a']='hahah'
print(s)

运行结果:
{'a': 'hahah', 'b': 'ueng', 2: {'11': 44}}
#查:
aa={'a':'shu','b':'ueng',2:{'11':44}}
b=aa.get('a')    #没有返回none
print(b)
aa={'a':'shu','b':'ueng',2:{'11':44}}b=aa.setdefault('aa')   #查找指定键的值,没有的话添加到字典中print(aa,b)运行结果:{'a': 'shu', 'b': 'ueng', 2: {'11': 44}, 'aa': None} None

3.  fromkeys   以序列 (可以是列表/元组/字典)中元素做字典的键,value 为字典所有键对应的初始值(可以不指定,默认none)

aa={'a':'shu','b':'ueng',2:{'11':44}}
# aa=['a','b','c']
s=dict.fromkeys(aa,10)
print(s)

运行结果:
{'a': 10, 'b': 10, 2: 10}

4. items  以列表的形式返回字典中的键值对

aa={'a':'shu','b':'ueng',2:{'11':44}}
print ("字典中的值:%s" %aa)
for key,value in aa.items():
    print(key,value)

运行结果:
字典中的值:{'a': 'shu', 'b': 'ueng', 2: {'11': 44}}
a shu
b ueng
2 {'11': 44}

5. keys  以列表的形式返回字典的所有键

aa={'a':'shu','b':'ueng',2:{'11':44}}
print(aa.keys())

运行结果:
dict_keys(['a', 'b', 2])

6. POP 删除字典给定键 key 所对应的值,返回值为被删除的值

aa={'a':'shu','b':'ueng',2:{'11':44}}
b=aa.pop('a')
print(aa,b)

运行结果:
{'b': 'ueng', 2: {'11': 44}} shu

7. popitem 随机返回并删除字典中的一对键和值

aa={'a':'shu','b':'ueng',2:{'11':44}}
b=aa.popitem()
print(aa,b)

运行结果:
{'a': 'shu', 'b': 'ueng'} (2, {'11': 44})

8. values 以列表返回字典中的所有值

aa={'a':'shu','b':'ueng',2:{'11':44}}
print(aa.values())
运行结果:
dict_values(['shu', 'ueng', {'11': 44}])

六、集合

1. 集合是无序的,不可重复元素的序列

    创建集合:

          法1:basket = {'apple', 'orange', 'apple', 'pear', 'orange', 'banana'}

          法2:a = set('abracadabra')

     a为 {'a', 'r', 'b', 'c', 'd'}

2. 集合运算

  a-b                 # 集合a中包含而集合b中不包含的元素

        a.difference(b)                          #找到a中包含而集合b中不包含的元素

  a.difference_update(b)   #获取a-b的值并且更新给a

a={'aaa','bbb','ccc'}
b={'ccc','ddd','eee'}
c=a.difference(b)
d=a-b
print(a,b,c,d)
运行结果:
{'aaa','ccc','bbb'}{'ccc','ddd','eee'}{'aaa','bbb'}{'bbb','aaa'}

  a | b     # 集合a或b中包含的所有元素

  a.union(b)     #集合ab的并集

  a & b   # 集合a和b中都包含了的元素

  a.intersection(b)     #取ab交集

  a.intersection_update(b)    #取ab交集,并将值更新给a

a={'aaa','bbb','ccc'}
b={'ccc','ddd','eee'}
c=a.intersection(b)
d=a&b
print(a,b,c,d)

运行结果:
{'aaa','bbb','ccc'}{'ccc','ddd','eee'}{'ccc'}{'ccc'}

 

  a ^ b    # 不同时包含于a和b的元素

  a.symmetric_difference(b)   #找出a含b不含,或b含a不含的元素

       a.symmetric_difference_update(b)      #找出a含b不含,或b含a不含的元素,并更新给a

 3.  添加元素

  basket.add('aaa')

  basket.update('aaa')

4. 删除元素

  basket.clear()        #删除全部元素

  basket.discard('banana')   #删除指定元素

     pop     #随机移除元素

  remove    #移除指定元素

  

5.  isdisjoint 判断两个集合中是否有相同元素,有回false,没有回true

a={'aaa','bbb'}
b={'ccc','ddd','eee'}
c=a.isdisjoint(b)
print(c)True

6. issubset  判断a是不是b的子集

a={'aaa','bbb'}
b={'bbb'}
c=a.issubset(b)
print(c)

False

  issuperset  判断a是不是b的父集

a={'aaa','bbb'}
b={'bbb'}
c=a.issuperset(b)
print(c)

True

 

   

 

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!