Python21期 day2(基础数据类型)

一、基础数据类型

数据类型分类
      数字
      字符串
      列表
      元祖
      字典
      集合

1.1 数字 int

数字主要用于计算,使用方法不是很多,记住一条即可:

#bit_length() 当十进制用二进制表示时,最少使用的位数
v = 11
data = v.bit_length()
print(data)

1.2 布尔值 bool

布尔值就两种,True,False。就是反应条件的正确与否

真  1  True

假  0  False

1.3 字符串 str

1.3.1 字符串的索引与切片

a = 'ABCDEFGHIJK'
print(a[0])
print(a[3])
print(a[5])
print(a[7])

切片就是通过索引(索引:索引:步长)截取字符串的一段,形成新的字符串(原则是顾头不顾尾)

a = 'ABCDEFGHIJK'
print(a[0:3])
print(a[2:5])
print(a[0:]) #默认到最后
print(a[0:-1]) #-1就是最后一个
print(a[0:5:2]) #加步长
print(a[5:0:-2]) #反向加步长

1.3.2 字符串常用方法

#capitalize,swapcase,title
name = 'oldBoy'
print(name.capitalize())        #首字母大写
print(name.swapcase())       #大小写反转

msg = 'egon say hi'
print(msg.title())       #单词首字母大写

a1 = 'dfsasdfsd'
print(a1.center(20,'*'))    #内同居中,总长度,空白处填充
ret = a1.count('s')          #字符串中出现元素的个数
print(ret)

#startswith,endswith
ret1 = a1.startswith('df')     #判断是以...开头
ret2 = a1.endswith('sd')     #判断是以...结尾

#寻找字符串中的元素是否存在
ret3 = a1.find('as')     
print(ret3)      #返回找到的元素的索引,找不到返回-1
ret4 = a1.index('dd')
print(ret4)      #返回找到的元素的索引,找不到报错

#split 以什么分割,最终形成一个列表
ret5 = 'title,Title,atre,'.split('t')    #以字符t为分隔符
print(ret5)
ret51 = 'title,Title,stre,'.rsplit('t',1)
print(ret51)

#format 三种方法,格式化输出
res = '{} {} {}'.format('egon',18,'male')
res = '{1} {0} {1}'.format('egon',18,'male')
res = '{name}{age}{sex}'.format(name='egon',age=18,sex='male')

#strip 用于移除字符串头尾指定字符
name = '*egon**'
print(name.strip('*'))
print(name.lstrip('*'))
print(name.rsplit('*'))

#replace 字符替换
name='alex say :i have one tesla,my name is alex'
print(name.replace('alex','SB',1))

#is系列
name='jinxin123'
print(name.isalnum())     #字符串由由字母或数字组成
print(name.isdigit())       #字符串只由数字组成
print(name.isalpha())     #字符串只由字母组成

1.4 元祖 tuple

 元祖被称为只读列表,即数据可以被查询,但不能被修改。所以,字符串的切片方式同样适用于元祖。例:(1,2,3) ("a","b","c")

1.5 列表 list

列表以[]括起来,每个元素以,逗号隔开,里面可以存放各种数据类型比如:

li = [‘alex’,123,Ture,(1,2,3,’wusir’),[1,2,3,’小明’,],{‘name’:’alex’}]

列表相比于字符串,不仅可以存储不同的数据类型,而且可以储存大量数据。32位python的限制是 536870912 个元素,64位python的

限制是 1152921504606846975 个元素。而且列表是有序的,有索引值,可切片,方便取值

1.5.1 增

li = [1,'a','b',2,3,'a']
li.insert(1,'55')     #插入,按照索引位置插入一个元素
print(li)

li.append('aaa')    #append,在列表最后添加
print(li)

li.extend(['q','a','w'])  #迭代的去增
print(li)
li.extend(['q,a,w','aaa'])
li.extend('a'’)
li.extend('abc')
li.extend('a,b,c')
print(li)
列表的增

1.5.2 删

l1 = li.pop(1)     #按照索引位置去删,有返回值
print(l1) 

del li[1:3]     #按照索引位置去删,也可按切片删除,没有返回值
print(li)

li.remove('a')     #按照元素去删
print(li)

li.clear()     #清空列表
列表的删

1.5.3 改

li[1] = 'aaa'
print(li)
li[1:3] = ['b','a']
print(li)
列表的改

1.5.4 查

切片去查或者循环查

1.5.5 其他操作

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

a = ["q","w","q","r","t","y"]
print(a.count('q'))

index (用于从列表中找出某个值第一个匹配项的索引位置)

a = ["q","w","q","r","t","y"]
print(a.index('q'))

sort (用于在原位置对列表进行排序)

reverse (将列表中的元素反向存放)

a = [2,1,3,4,5]
a.sort()
print(a)

a.reverse()
print(a)

1.6 字典 dict

字典是Python中唯一的映射类型,采用键值对(key - value)的形式存储数据。Python对key进行哈希函数运算,并根据计算结果决定value的存储地址,所以字典

是无序存储的,且key必须是可哈希的。可哈希表示key必须是不可变类型,比如:数字、字符串、元祖

1.6.1 增

dic = {'age': 18, 'name': 'jin', 'sex': 'male'}
dic['li'] = ["a","b","c"]
print(dic)

#setdefault 在字典中添加键值对,如果只有键那对应的值为none。但是如果字典中存在设置的键值对时,则它不会更改或覆盖
dic.setdefault('k','v')
dic.setdefault('k','v1')
print(dic)
View Code

1.6.2 删

dic_pop = dic.pop("a",'无key默认返回值')    #pop根据key删除键值对,并返回对应的值,如果没有该key,则返回默认返回值
print(dic_pop)
del dic['name']
print(dic)
字典的删

1.6.3 改

dic2 = {"name":"alex","weight":75}
dic2.update(dic)     #将dic所有键值对覆盖添加(相同的覆盖,没有的添加)到dic2中
print(dic2)
字典的改

1.6.4 查

value1 = dic['name']     #没有会报错
print(value1)

value2 = dic.get('sdfasdf','默认返回值')     #没有返回设定的默认返回值
print(value2)
字典的查

1.6.5 其他操作

item = dic.items()
print(item,type(item))
#dict_items([('age', 18), ('name', 'jin'), ('sex', 'male')]) <class 'dict_items'>

keys = dic.keys()
print(keys,type(keys))
#dict_keys(['age', 'name', 'sex']) <class 'dict_keys'>

values = dic.values()
print(values,type(values))
#dict_values([18, 'jin', 'male']) <class 'dict_values'>
View Code

字典的循环

for key in dic:
    print(key)
#age
#name
#sex

for item in dic.items():
    print(item)
#('age', 18)
#('name', 'jin')
#('sex', 'male')

for k,v in dic.items():
    print(k,v)
#age 18
#name jin
#sex male

二、其他(for enumerate range)

for循环:按照顺序循环可迭代对象的内容

msg = '老男孩python是全国范围内最好的python培训机构'
for item in msg:
    print(item)

li = ['alex','银角','女神','egon','太白']
for i in li:
    print(i)

dic = {'name':'太白','age':18,'sex':'man'}
for k,v in dic.items():
    print(k,v)

enumerate :枚举,对于一个可迭代(iterable)/可遍历的对象(列表、字符串),enumerate将其组成一个索引序列,利用它可以同时获得索引和值

for i in enumerate(li):
    print(i)

for index,name in enumerate(li,1):    #起始位置默认为0,可随意更改
    print(index,name)

range: 指定范围,生成指定数字

for i in range(1,10):
    print(i)

for i in range(1,10,2):  # 步长
    print(i)

for i in range(10,1,-2): # 反向步长
    print(i)

 

posted @ 2018-04-09 17:31  叫你你敢答应么  阅读(112)  评论(0)    收藏  举报