数据类型

数据类型之间的转换:

str-------->int:str必须是整数

int--------->str:任何都可以

str-------->bool:空的str转换为bool显示为False,非空的str转换为bool为True。

bool------->str:两种结果:True、False

int---------->bool:非0整数转化为bool为True,0转化为bool为False

bool---------->int:两种结果:0或1

str------------>list:split

list------------>str:’str'.join(list)

# str---------int  注释快捷键:ctrl+/     str必须是整数
# s = '123 '
# s1 = int(s)
# print(s1)

# int------------str
# s = 123
# s2 = str(s)
# print(s2, type(s2))

# str------------bool  非空的str转换为bool,结果为False
# s = '123ee'
# ss = ''
# s3 = bool(s)
# s4 = bool(ss)
# print(s3, s4)

# bool-----------str
# s = True
# s5 = str(s)
# print(s5, type(s5))

# int-------------bool    非0整数转化为bool为True,0转化为bool为False
# s = 123
# ss = 0
# sss = -123
# s6 = bool(s)
# s7 = bool(ss)
# s8 = bool(sss)
# print(s6, s7, s8)

# bool-----------------int 只有两种情况:0或1
s = True
ss = False
s9 = int(s)
s10 = int(ss)
print(s9, s10)
View Code

 

s = 'some one like you'
list = s.split(' ')
print(list)
#  ['some', 'one', 'like', 'you']

ss = ' '.join(list)
print(ss)
# some one like you
str和split之间的转换

 

数字 int

s.bit_length():当十进制用二进制表示时,最小的二进制位数
# s = 14
# s1 = s.bit_length()  # 当十进制用二进制表示时,最小的二进制位数
# print(s1)

 

布尔值 bool

真  1  True

假  0  False

 

元组:只读列表,用()表示

字符串 str

切片与索引

索引:用来标注元素位置的数字,第一个元素的位置是0,最后一个是-1

# a = 'ABCDefG'
# print("a[0]:"+a[0])
# print("a[1]:"+a[1])
# print("a[-1]:"+a[-1])
# print("a[-2]:"+a[-2])

a[0]:A
a[1]:B
a[-1]:G
a[-2]:f

 

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

# a = 'ABCDefG'
# print(a[0:3])  # ABC
# print(a[0:3:2])  # AC
# print(a[3:0:-1])  # DCB
# print(a[-1:-4:-1])  # Gfe
# print(a[:])  # ABCDefG
# print(a[::-1])  # GfeDCBA

字符串常用方法:

s = ' haveWe a good tiME '
s1 = s.capitalize()
print('首字母大写:'+s1)

s2 = s.upper()
print('字母全部大写:'+s2)

s3 = s.lower()
print('字母全部小写:'+s3)

s4 = s.swapcase()
print('字母大小写翻转:'+s4)  # 大写变小写,小写变大写

s5 = s.title()
print('每个单词的首字母大写:'+s5)
print(s)

s6 = s.center(30, '-')
print('居中:'+s6)

# s7 = s.expandtabs()  # 若字符串中含有\t,自动用空格补齐前方的8位

print(len(s))  # 长度
'''
上面的运行结果:
首字母大写: havewe a good time 
字母全部大写: HAVEWE A GOOD TIME 
字母全部小写: havewe a good time 
字母大小写翻转: HAVEwE A GOOD TIme 
每个单词的首字母大写: Havewe A Good Time 
 haveWe a good tiME 
居中:----- haveWe a good tiME -----
20
'''

#  ------------------------判断字符开头或结尾 startswith endswith------------
# s8 = s.startswith('ha')  # 判断字符串是否以ha开头,(True、False)
# s9 = s.endswith('E')  # 判断字符串是否以E结尾。
# print(s8, s9)

# --------------------查找元素 find  index-------------------------
# print(s.find('oo'))  # 查找某元素的位置,找到返回索引值,找不到返回-1
# print(s.index('oo'))  # 查找某元素的位置,找到返回索引值,找不到报错

# ---------------去空格或者指定字符 strip-------------------
# print(s.strip())  #去除两头的空格
# print(s.lstrip())  # 去除左边的空格
# print(s.rstrip())  #去除右边的空格
# ss = '%kdkd%sd;*%'
# print(ss.strip('*%'))
# print(ss.lstrip('*%'))
# print(ss.rstrip('*%'))

# -------------------计数 count 和字符分割 split--------------------------
# print(s.count('a'))  # 计算某个元素出现的个数。

# s10 = s.split()   # 将字符串分割成列表
# print(s10)

# --------------格式化输出 format   %s-------------------
# name = input('请输入姓名:')
# age = input('请输入年龄:')
# # info = '我的名字叫{},今年{}岁了,{}曾经有个最好的朋友'.format(name, int(age), name)
# # info = '我的名字叫{0},今年{1}岁了,{0}曾经有个最好的朋友'.format(name, int(age))
# # info = '我的名字叫{name},今年{age}岁了,{name}曾经有个最好的朋友'.format(name=name, age=int(age))
# info = '我的名字叫%s,今年%d岁了,%s曾经有个最好的朋友' % (name, int(age), name)
# print(info)

# -----------------替换 replace(old,new,count)-------------
s = 'HelloWord'
print(s.replace('l', '', 1))

print(s.isalnum())  # 判断只由数字或字母组成,是返回True,不是返回False
print(s.isalpha())  # 判断只由字母组成,是返回True,不是返回False
print(s.isdigit())  # 判断只由数字组成,是返回True,不是返回False
View Code

 

 

列表 list

列表内容在[]里,用逗号隔开,可以存放各种数据类型。

1.增加。append()、extend()、insert()

li = ['shishanshan', 12, '女孩']
li.append('爱好吃喝玩乐')  # 从最后面添加
li.append(['hao', '你好'])
li.insert(1, '山东菏泽')  # 从指定位置添加
li.extend([123, 'sss', 44])  # 迭代添加
li.extend('hds')
print(li)

# 结果:['shishanshan', '山东菏泽', 12, '女孩', '爱好吃喝玩乐', ['hao', '你好'], 123, 'sss', 44, 'h', 'd', 's']

 

2.删除。clear()、del、pop()、remove‘str’)

clear():清除整个列表,清除后,列表为空列表[]

del:删除整个列表,或者删除列表的指定部分。

pop():pop删除指定位置的元素,当()内部没有内容时,默认删除最后一个元素。pop()有返回值,返回的当前删除的元素

remove():删除列表中的某个元素。没有此元素时报错

li = ['shishanshan', 12, '女孩']
print(li.pop())  # 删除“女孩”
li.pop(1)  # 删除索引为1的位置的元素

li.remove('shishanshan')  # 删除shishanshan

li.clear()

del li
del li[0:2]  # 切片删除
print(li)

 

 

3.修改。

li = ['shishanshan', 12, '女孩']
li[0] = '时珊珊'
li[0:2] = ['帆帆', '好孩子', 21]  # 删除某块位置,在此位置上迭代添加元素
print(li)

 

 

4.查询。索引查询、循环查询

li = ['shishanshan', 12, '女孩', ['唱歌', '画画']]
# print(li[0])
# print(li[0:2])
# print(li[::-2])

for i in li:
    print(i)

 

 

5.其他方法。

count():计数。统计某个元素在列表中出现的次数(即元素个数),找不到返回0

index():从左往右,找到某元素最先出现的索引位置。若不存在,报错

li = ['小石头', '', 21, ['小红', '', 20], '']
num = li.count('')
print(num)

ins = li.index('')
print(ins)

# 结果: ['帆帆', '好孩子', 21, '女孩']   2      1

 

sort():正序排列列表

sort(reverse=True):倒序排列列表

reverse():整个列表直接反过来

lis = [3, 5, 1, 0, 33, 12]
lis.sort() 
lis.sort(reverse=True)
lis.reverse()
print(lis)

 

 字典 dict

1、增加。dict['K']=V          setdefault(K,V)    注:K代表键,V代表值

  直接增加:dict['k']=v   若存在相同的键(K),则直接覆盖该K的V

            若不存在该K,则直接新增该键值对。

  setdefault(K,V):  若存在相同的键(K),则不做处理。  该方法返回值为存在的K的V

           若不存在该K,则直接新增该键值对。  该方法的返回值为新增的K的V

dic = {'name': ['苏珊', '小红'],
       'age': [20, 21],
       'like': '跑着玩',
       }
# print(dic.setdefault('name', 'afric'))  # ['苏珊', '小红']
# print(dic.setdefault('school', '中华人民共和国'))  # 中华人民共和国
dic['name'] = 'afric'  # {'name': 'afric', 'age': [20, 21], 'like': '跑着玩'}
# dic['school'] = '中华人民共和国'
print(dic)
View Code

 

2、删除 pop(K,'NK_V')  popitem()  clear  del

  pop(K,'NK_V'):若有K,则返回该K的V

           若没有该K,返回NK_V

  popitem():随机删除,字典为空时报错,不为空时返回删除的V

dic = {'name': ['苏珊', '小红'],
       'age': [20, 21],
       'like': '跑着玩',
       }
print(dic.pop('likes', '没有该键'))  # 没有该键
print(dic.pop('like', '没有该键'))  # 跑着玩
print(dic)  # {'name': ['苏珊', '小红'], 'age': [20, 21]}

# print(dic.popitem())
# dic.clear()
# del dic['name']
# print(dic)
View Code

 

3、修改   dict['K']=V   dic1.update(dic2)

  dic1.update(dic2):将dict2中的更新到dict1中,相同的K的覆盖,不相同的增加

dic = {'name': ['苏珊', '小红'],
       'age': [20, 21],
       'like': '跑着玩',
       }
dic1 = {'age': [21, 22],
        'school': '中华人民共和国'}

# dic['name'] = 'afric'  # {'name': 'afric', 'age': [20, 21], 'like': '跑着玩'}
# dic['school'] = '中华人民共和国'
# print(dic)

dic.update(dic1) # {'name': ['苏珊', '小红'], 'age': [21, 22], 'like': '跑着玩', 'school': '中华人民共和国'}
print(dic)
View Code

 

4、查询。

dic = {'name': ['苏珊', '小红'],
       'age': [20, 21],
       'like': '跑着玩',
       }
print(dic['name'])  # ['苏珊', '小红']
print(dic.get('name'))
print(dic.get('name1', '没有该键'))  # 没有该键
View Code

 5、其他方法。dict.keys()  dict.values()  dict.items()

dic = {'name': ['苏珊', '小红'],
       'age': [20, 21],
       'like': '跑着玩',
       }
print(dic.keys())  # dict_keys(['name', 'age', 'like'])
print(dic.values())  # dict_values([['苏珊', '小红'], [20, 21], '跑着玩'])
print(dic.items())  # dict_items([('name', ['苏珊', '小红']), ('age', [20, 21]), ('like', '跑着玩')])

for k in dic.keys():
    print(k)
for v in dic.values():
    print(v)
for ite in dic.items():
    print(ite)
for k, v in dic.items():
    print(k, v)
View Code

 

posted @ 2019-01-12 16:59  夜色迟暮  阅读(172)  评论(0编辑  收藏  举报