python_数据类型基本操作(2)
概览:
第1章 基础数据类型宏观的初识
第2章 int
第3章 bool
第4章 str
4.1 python体现形式
4.2 引号用法
4.3 字符串运算
4.3.1 字符串相加
4.3.2 字符串相乘
4.4 字符串参数
4.5 字符串取值
4.5.1 索引
4.5.2 切片
4.6 判断字符串组成
第5章 list()
5.1 列表操作(增)
5.2 列表操作(删)
5.3 列表操作(改)
5.4 列表操作(查)
5.5 基础练习
5.6 方法练习
5.7 列表的嵌套
第6章 tuple
6.1 元组的元素性质
6.2 range
第7章 dict
7.1 定义
7.2 字典操作增)
7.3 字典操作(删)
7.4 字典操作(改)
7.5 字典操作(查)
7.6 字典的嵌套
第8章 比较运算符
8.1 比较运算逻辑
第9章 格式化输出
9.1 %用法
9.2 format(三种方法)
第10章 公共方法
10.1 len
10.2 count
第11章 数据类型之间的转换
11.1 list转换str
11.2 str转换int
11.3 int转换 str(1)
11.4 str转换 int(1)
11.5 int转换bool
11.6 bool 转换int
11.7 str转换bool
第12章 基础数据类型的补充
第13章 拾遗
13.1 分割元素的坑
13.2 %占位符
13.3 比较预算优先级
正文:
第1章 基础数据类型宏观的初识
l int:数字,加减产出等计算。
l str:字符串,存储少量的数据,进行简单的操作。
l list:列表,存储大量的数据
l tuple:元组,只读列表,
l dict:字典,查询速度快,存储的是关系型数据
例:
dict:{
'name':'san'
'age':1000,
}
l set:集合,对照两个数据的对应关系
第2章 int
解释:数字主要是用于计算用的,使用方法并不是很多
例:
v = 10
p = 11
print(v+p)
输出
C:\python3\python.exe D:/python/untitled2/python_auto/lianxi2.py
21
第3章 bool
解释:两种状态True False
例:
v = 1
print(v.__bool__())
p = 0
print(bool(p))
输出
C:\python3\python.exe D:/python/untitled2/python_auto/lianxi2.py
True
False
第4章 str
4.1 python体现形式
例:引号里面的内容。
count = '123'
print(count,type(count))
输出
C:\python3\python.exe D:/python/untitled2/python_auto/lianxi2.py
123 <class 'str'>
4.2 引号用法
a)单双相结合
print("I'm a good boy.")
输出
I'm a good boy.
b)三引号的分行打印
'''
写一个购物车,写完了的写三级菜单。
购物车
功能要求:
要求用户输入总资产,例如:2000
显示商品列表,让用户根据序号选择商品,加入购物车
购买,如果商品总额大于总资产,提示账户余额不足,否则,购买成功。
goods = [{"name": "电脑", "price": 1999},
{"name": "鼠标", "price": 10},
{"name": "游艇", "price": 20},
{"name": "美女", "price": 998},
]
'''
4.3 字符串运算
4.3.1 字符串相加
n = "abc"
m = "def"
print(n + m)
输出
C:\python3\python.exe D:/python/untitled2/python_auto/lianxi2.py
abcdef
4.3.2 字符串相乘
n = "abc"
m = "def"
print(n * 3)
输出
C:\python3\python.exe D:/python/untitled2/python_auto/lianxi2.py
abcabcabc
4.4 字符串参数
4.4.1 ++ capitalize
解释:首字母大写
n = "abc"
m = "def"
print(n.capitalize())
输出
C:\python3\python.exe D:/python/untitled2/python_auto/lianxi2.py
Abc
4.4.2 ++ swapcase
解释:大小写反转
m = "Def"
print(m.swapcase())
输出
C:\python3\python.exe D:/python/untitled2/python_auto/lianxi2.py
dEF
4.4.3 + title
解释:非字母隔开的单词首字母大写
m = "Def gh IjK lmN"
print(m.title())
输出
C:\python3\python.exe D:/python/untitled2/python_auto/lianxi2.py
Def Gh Ijk Lmn
4.4.4 + center
解释:设置总长度并居中
n = "abc"
m = "Def gh IjK lmN"
print(n.center(10,'*'))
输出
***abc****
4.4.5 +++upper /lower
解释:大写全小写
code = 'AwEqr'
username = input('>> 请输入用户名: ')
your_code = input('>> 请输入验证码: ')
if username == '王' and your_code.upper() == code.upper():
print('登录成功')
输出
C:\python3\python.exe D:/python/untitled2/python_auto/lianxi2.py
>> 请输入用户名: wang
>> 请输入验证码: aweqr
登录成功
4.4.6 +++startswith endswith
解释:判断以..开头或以..结尾,整体与个体都可以
m = "Def gh IjK lmN"
m1 = m.startswith('Def')
print(m1)
输出
C:\python3\python.exe D:/python/untitled2/python_auto/lianxi2.py
True
4.4.7 +++ s.strip()
解释:剔除前后空格,换行符,制表符,剔除内容也可以自定制
列1):剔除空格和制表符
s = ' wangXiaoxiao\t'
print(s)
print(s.strip())
输出
C:\python3\python.exe D:/python/untitled2/python_auto/lianxi2.py
wangXiaoxiao
wangXiaoxiao
例2):实际应用输出剔除空格
code = 'AwEqr'
username = input('>> 请输入用户名: ').strip()
your_code = input('>> 请输入验证码: ').strip()
if username == 'wang' and your_code.upper() == code.upper():
print('登录成功')
输出
C:\python3\python.exe D:/python/untitled2/python_auto/lianxi2.py
>> 请输入用户名: wang
>> 请输入验证码: aweqr
登录成功
例3):剔除自定制
s = 'abc countname abc'
s1 = s.strip('abc')
print(s1)
输出
C:\python3\python.exe D:/python/untitled2/python_auto/lianxi2.py
countname
4.4.8 ++lstrip
例:剔除左侧匹配字符
s = 'abc countname abc'
s1 = s.lstrip('abc')
print(s1)
输出
C:\python3\python.exe D:/python/untitled2/python_auto/lianxi2.py
countname abc
4.4.9 +++replace
解释:替换
例1)
s = 'my name is supman ,supman is good man'
s1 = s.replace('supman','chaoren')
print(s1)
输出:
C:\python3\python.exe D:/python/untitled2/python_auto/lianxi2.py
my name is chaoren ,chaoren is good man
例2)只替换一处
s = 'my name is supman ,supman is good man'
s1 = s.replace('supman','chaoren',1)
print(s1)
输出
C:\python3\python.exe D:/python/untitled2/python_auto/lianxi2.py
my name is chaoren ,chaoren is good man
4.4.10 ++++ split
本章重点:分割字符串转换为列表
1)split:按某种格式进行分割,默认以空格进行切分,输出结果为列表的形式
s = 'my name is supman ,supman is good man'
s1 = s.split()
print(s1)
输出
C:\python3\python.exe D:/python/untitled2/python_auto/lianxi2.py
['my', 'name', 'is', 'supman', ',supman', 'is', 'good', 'man']
2)既有中文逗号也有英文逗号分割方法:替换成英文再分割
s = 'my name is supman ,supman ,is good man'
s1 = s.replace(',',',')
print(s1)
print(s1.split(','))
输出
C:\python3\python.exe D:/python/untitled2/python_auto/lianxi2.py
my name is supman ,supman ,is good man
['my name is supman ', 'supman ', 'is good man']
4.4.11 +++find
解释:find找不到返回-1,index找不到会报错
s = 'superman'
s1 = s.find('e')
s2 = s.find('w')
print(s1,type(s1))
print(s2)
输出
C:\python3\python.exe D:/python/untitled2/python_auto/lianxi2.py
3 <class 'int'>
-1
4.4.12 +++index
s = 'superman'
s1 = s.index('w')
print(s1)
输出
C:\python3\python.exe D:/python/untitled2/python_auto/lianxi2.py
Traceback (most recent call last):
File "D:/python/untitled2/python_auto/lianxi2.py", line 147, in <module>
s1 = s.index('w')
ValueError: substring not found
4.5 字符串取值
4.5.1 索引
s = 'sadfdsfdsjfkdsf'
s1=s[0]
print(s1,type(s1))
输出
s <class 'str'>
倒序查找
s1=s[-1]
print(s1,type(s1))
头不顾尾
s2 = s[0:3]
print(s2)
输出
C:\python3\python.exe D:/python/untitled2/python_auto/lianxi2.py
sad
4.5.2 切片
解释:s[起始多音:结束索引+1:步长]
1)全取
s3 = s[:-1]
s4 = s[:]
print(s3)
print(s4)
输出
sadfdsfdsjfkds
sadfdsfdsjfkdsf
2)步长
s5 = s[:5:2]
#倒序切片要在后面加步长
s6 = s[-1:-5:-1]
s6 = s[11::1]
print(s6)
输出
C:\python3\python.exe D:/python/untitled2/python_auto/lianxi2.py
kdsf
3)倒序取全
s5 = s[:-1]
print(s5)
输出
C:\python3\python.exe D:/python/untitled2/python_auto/lianxi2.py
sadfdsfdsjfkds
4.6 判断字符串组成
例:
name = '123'
#判断字符串是由字母或者数字组成
print(name.isalnum())
#判断是由字符串组成
print(name.isalpha())
#判断是否有数字组成
print(name.isdigit())
输出
C:\python3\python.exe D:/python/untitled2/python_auto/lianxi2.py
True
False
True
第5章 list()
l 列表按照切片切出来的是列表
l 列表按照索引取值,要看原来属性
5.1 列表操作(增)
5.1.1 append()
l = ['chuang','qian','ming','yue']
l.append('guang')
print(l)
输出
C:\python3\python.exe D:/python/untitled2/python_auto/lianxi2.py
['chuang', 'qian', 'ming', 'yue', 'guang']
5.1.2 insert
解释: 按照索引添加
l.insert(0,'libai')
print(l)
输出
C:\python3\python.exe D:/python/untitled2/python_auto/lianxi2.py
['libai', 'chuang', 'qian', 'ming', 'yue']
Process finished with exit code 0
5.1.3 extend
解释:迭代追加,最小组成元素被逗号隔开,追加到最后
l.extend(['yi','shi','di','shang','shuang'])
print(l)
输出
C:\python3\python.exe D:/python/untitled2/python_auto/lianxi2.py
['chuang', 'qian', 'ming', 'yue', 'yi', 'shi', 'di', 'shang', 'shuang']
5.2 列表操作(删)
5.2.1 pop(返回值)
解释:按照索引删除,并且有返回值
l.pop(0)
print(l)
输出
C:\python3\python.exe D:/python/untitled2/python_auto/lianxi2.py
['qian', 'ming', 'yue']
返回值:为删除的元素
print(l.pop(0))
输出
C:\python3\python.exe D:/python/untitled2/python_auto/lianxi2.py
chuang
5.2.2 remove
解释:按照元素删除
l.remove('chuang')
print(l)
输出
C:\python3\python.exe D:/python/untitled2/python_auto/lianxi2.py
['qian', 'ming', 'yue']
5.2.3 clear
解释:清空列表,将整个列表在内存中删除
l.clear()
print(l)
输出
C:\python3\python.exe D:/python/untitled2/python_auto/lianxi2.py
[]
5.2.4 del
解释:按照切片删
del l[2:]
print(l)
输出
C:\python3\python.exe D:/python/untitled2/python_auto/lianxi2.py
['chuang', 'qian']
5.3 列表操作(改)
5.3.1 按索引改
l[0] = '床'
print(l)
输出
C:\python3\python.exe D:/python/untitled2/python_auto/lianxi2.py
['床', 'qian', 'ming', 'yue']
5.3.2 按照切片改
解释:按照区域将内容清空迭代添加
l[:] = '床','前','明','月'
print()
输出
C:\python3\python.exe D:/python/untitled2/python_auto/lianxi2.py
['床', '前', '明', '月']
2)添加步长进行修改
l[:3:2] = '床','月'
print(l)
输出
C:\python3\python.exe D:/python/untitled2/python_auto/lianxi2.py
['床', 'qian', '月', 'yue']
5.4 列表操作(查)
5.4.1 for 循环看
for i in l :
print(i)
5.4.2 sort
解释:列表正序排序(需要数字组成)
l = [9787,83,202,10]
l.sort()
print(l)
输出
C:\python3\python.exe D:/python/untitled2/python_auto/lianxi2.py
[10, 83, 202, 9787]
5.4.3 sort(reverse=True)
解释:倒序排序(需由数字组成)
l = [9787,83,202,10]
l.sort()
print(l)
输出
D:/python/untitled2/python_auto/lianxi2.py
[9787, 202, 83, 10]
5.4.4 reverse
解释:翻转
l = [9787,83,202,10]
l.reverse()
print(l)
输出
C:\python3\python.exe D:/python/untitled2/python_auto/lianxi2.py
[10, 202, 83, 9787]
5.5 基础练习
列表取值
li = [1,(2,3),2,3,4,5,6,]
l1 = li[:3]
print(l1)
print(li[0],type(li[0]))
输出
C:\python3\python.exe D:/python/untitled2/python_auto/lianxi2.py
[1, (2, 3), 2]
1 <class 'int'>
5.6 方法练习
l = ['chuang','qian','ming','yue']
#追加
l.append('guang')
#按照索引添加
l.insert(1,'ok')
#按照元素添加
l.extend(['yi','shi','di','shang','shuang'])
#查看
print(l)
#按照索引删除
l.pop(1)
#按照切片删除
del l[5:]
#遍历查询
for i in l :
#输出
print(i)
输出
C:\python3\python.exe D:/python/untitled2/python_auto/lianxi2.py
['chuang', 'ok', 'qian', 'ming', 'yue', 'guang', 'yi', 'shi', 'di', 'shang', 'shuang']
chuang
qian
ming
yue
guang
5.7 列表的嵌套
例1):将wang 首字母大写
l = [1,2,'wang',['xiao','dong',100],8]
l[2] = l[2].capitalize()
print(l)
输出
C:\python3\python.exe D:/python/untitled2/python_auto/lianxi2.py
[1, 2, 'Wang', ['xiao', 'dong', 100], 8]
例2)让100通过数字加1的形式101
l[3][-1] = str(l[3][-1] + 1)
print(l)
输出
C:\python3\python.exe D:/python/untitled2/python_auto/lianxi2.py
[1, 2, 'wang', ['xiao', 'dong', '101'], 8]
第6章 tuple
6.1 元组的元素性质
解释:直属元组中的元素是只读的
例1):元组中插入元素报错
tu1=(12,34,[5,6],78)
tu1[0].append(666)
print(tu1)
输出
C:\python3\python.exe
D:/python/untitled2/python_auto/lianxi2.py
Traceback (most recent call last):
File
"D:/python/untitled2/python_auto/lianxi2.py", line 203, in
<module>
tu1[0].append(666)
AttributeError: 'int' object has no attribute
'append
例2):元组内含列表,在列表中插入元素可以
tu1=(12,34,[5,6],78)
tu1[2].append(666)
print(tu1)
输出
C:\python3\python.exe D:/python/untitled2/python_auto/lianxi2.py
(12, 34, [5, 6, 666], 78)
6.2 range
6.2.1 正向取值
解释:顾首不顾尾,可以加步长
for i in range(2,12,3):
print(i)
输出
D:/python/untitled2/python_auto/lianxi2.py
2
5
8
11
6.2.2 反向取值
for i in range(12,1,-3):
print(i)
输出
D:/python/untitled2/python_auto/lianxi2.py
12
9
6
3
第7章 dict
7.1 定义
字典:
l
key-values存储,可以存储大量的关系型数据,查询速度非常快
l
字典的键,必须是唯一的,不可以重复,而且是不可变的数据类型,value可以为任意数据类型或者对象
l
数据类型:
不可变类型(可哈希):int str tuple bool
可变类型(不可哈希):dict
lis set
l
在3.5版本包括3.5之前,都是无序的
7.2 字典操作(增)
7.2.1 依键加值
解释:无则增加有则修改
dic = {
'name':'superman',
'age':18,
'sex':'man',
}
dic['hobby'] = 'fly'
print(dic)
输出
D:/python/untitled2/python_auto/lianxi2.py
{'name': 'superman', 'age': 18, 'sex': 'man',
'hobby': 'fly'}
7.2.2 setdefault(无则添加)
dic = {
'name':'superman',
'age':18,
'sex':'man',
}
dic['hobby'] = 'fly'
dic.setdefault('high',180)
print(dic)
输出
D:/python/untitled2/python_auto/lianxi2.py
{'name': 'superman', 'age': 18, 'sex': 'man',
'hobby': 'fly', 'high': 180}
7.2.3 setdefault(有则不改)
dic = {
'name':'superman',
'age':18,
'sex':'man',
}
dic['hobby'] = 'fly'
dic.setdefault('name','超人')
print(dic)
输出
D:/python/untitled2/python_auto/lianxi2.py
{'name': 'superman', 'age': 18, 'sex': 'man',
'hobby': 'fly'}
7.3 字典操作(删)
7.3.1 pop(返回值)
解释:按照键来删除,删除整个键值对;没有键值报错,有返回值,返回值
dic = {
'name':'superman',
'age':18,
'sex':'man',
}
dic['hobby'] = 'fly'
print(dic.pop('name'))
print(dic)
输出
D:/python/untitled2/python_auto/lianxi2.py
superman
{'age': 18, 'sex': 'man', 'hobby': 'fly'}
7.3.2 无则报错
dic.pop('name1')
输出
C:\python3\python.exe
D:/python/untitled2/python_auto/lianxi2.py
Traceback (most recent call last):
File
"D:/python/untitled2/python_auto/lianxi2.py", line 226, in
<module>
dic.pop('name1')
KeyError: 'name1
7.3.3 解决报错,加返回值
dic.pop('name1',None)
print(dic)
输出
D:/python/untitled2/python_auto/lianxi2.py
{'name': 'superman', 'age': 18, 'sex': 'man',
'hobby': 'fly'}
7.3.4 3.5版本区别
解释:3.5以前随机删有返回值,返回元组
dic = {
'name':'superman',
'age':18,
'sex':'man',
}
dic['hobby'] = 'fly'
print(dic.popitem())
print(d
输出
D:/python/untitled2/python_auto/lianxi2.py
('hobby', 'fly')
{'name': 'superman', 'age': 18, 'sex': 'man'}
7.3.5 clear
7.3.6 del
1.删除整个字典
2.按照键去删除键值对:用pop比较好
7.4 字典操作(改)
7.4.1 依据键来改
dic = {
'name':'superman',
'age':18,
'sex':'man',
}
dic['name'] = '超人'
print(dic)
输出
C:\python3\python.exe
D:/python/untitled2/python_auto/lianxi2.py
{'name': '超人', 'age': 18,
'sex': 'man'}
7.4.2 update
解释:覆盖并更新
dic = {
'name':'superman',
'age':18,
'sex':'man',
}
dic1 ={
'name':
'超人',
'age':
18,
'sex': '男',
}
dic.update(dic1)
print(dic)
输出
D:/python/untitled2/python_auto/lianxi2.py
{'name': '超人', 'age': 18,
'sex': '男'}
7.5 字典操作(查)
7.5.1 根据key
查有则输出:
dic1 ={
'name':
'超人',
'age':
18,
'sex': '男',
}
print(dic['name'])
输出
C:\python3\python.exe
D:/python/untitled2/python_auto/lianxi2.py
超人
无则报错:
print(dic['name1'])
输出
line 230, in <module>
print(dic['name1'])
KeyError: 'name1'
7.5.2 get(返回值)
解释:get取值不会报错会有返回值,并且可以设定返回值
dic1 ={
'name':
'超人',
'age':
18,
'sex': '男',
}
print(dic1.get('name1'))
输出
C:\python3\python.exe
D:/python/untitled2/python_auto/lianxi2.py
None
7.5.3 for循环
dic.keys()#类似于列表的容器,可以for循环,没有索引,默认打印键
dic = {
'name':'superman',
'age':18,
'sex':'man',
}
for key in dic.keys():
print(key)
输出
D:/python/untitled2/python_auto/lianxi2.py
name
age
sex
7.5.4 dic.values()
print(dic.values())
输出
D:/python/untitled2/python_auto/lianxi2.py
dict_values(['superman', 18, 'man'])
7.5.5 dic.items()
print(dic.items())
输出
D:/python/untitled2/python_auto/lianxi2.py
dict_items([('name', 'superman'), ('age', 18),
('sex', 'man')])
7.5.6 k,v赋值
解释:分别赋值取出key,velus
dic = {
'name':'superman',
'age':18,
'sex':'man',
}
for k,v in dic.items():
print(k,v)
输出
C:\python3\python.exe D:/python/untitled2/python_auto/lianxi2.py
name superman
age 18
sex man
7.6 字典的嵌套
例1:对字典中的列表追加一个元素'guanyu'
dic =
{'name_list':['chaoren','zhizhuxia'],1:{...}}
dic['name_list'].append('guanyu')
print(dic)
输出
C:\python3\python.exe D:/python/untitled2/python_auto/lianxi2.py
{'name_list': ['chaoren', 'zhizhuxia', 'guanyu'],
1: {Ellipsis}}
例2:在循环一个字典时,不要改变字典的大小
dic =
{'k1':'v1','k2':'v2','k3':'v3','name':'chaoren'}
for k in dic:
if 'k'
in k:
dic.pop(k)
print(dic)
输出
\python3\python.exe
D:/python/untitled2/python_auto/lianxi2.py
Traceback (most recent call last):
File
"D:/python/untitled2/python_auto/lianxi2.py", line 233, in
<module>
for k in
dic:
RuntimeError: dictionary changed size during
iteration
例3:解决方法
dic =
{'k1':'v1','k2':'v2','k3':'v3','name':'chaoren'}
l1 = []
for i in dic:
if 'k'
in i:
l1.append(i)
print(l1)
for i in l1:
del
dic[i]
print(dic)
输出
C:\python3\python.exe
D:/python/untitled2/python_auto/lianxi2.py
['k1', 'k2', 'k3']
{'name': 'chaoren'}
第8章 比较运算符
8.1 比较运算逻辑
优先级: () >
not > and > or
print(1 > 2 and 3 < 4 or 4 > 5 and 2 >
1 or 9 < 8)
C:\python3\python.exe
D:/python/untitled2/python_auto/lianxi2.py
False
or巧记:
#x or y is Trus ,return x
print(3 or 4)
输出
C:\python3\python.exe D:/python/untitled2/python_auto/lianxi2.py
3
第9章 格式化输出
9.1 %用法
例1:
name = input('>>请输入你的名字: ')
age = input('>>请输入你的年龄: ')
job = input('>>请输入你的职业: ')
hobbie = input('>>请输入你的爱好: ')
msg ='''_______________info of %s____________
Name :%s
Age : %d
Job : %s
Hobbie : %s
_______________________end___________
'''\
%
(name,name,int(age),job,hobbie)
print(msg)
输出
C:\python3\python.exe
D:/python/untitled2/python_2/格式化输出.py
>>请输入你的名字: 超人
>>请输入你的年龄: 18
>>请输入你的职业: 世界警察
>>请输入你的爱好: 拯救世界
_______________info of 超人____________
Name :超人
Age : 18
Job : 世界警察
Hobbie : 拯救世界
_______________________end___________
例2:
name = input('>>your names: ')
age = input('>> your ages: ')
sex = input('>>your sex :')
print("my name is '%s,my age is %s,my sex is
%s." %(name,age,sex))
输出
C:\python3\python.exe
D:/python/untitled2/python_auto/lianxi2.py
>>your names: wang
>> your ages: 17
>>your sex :man
my name is 'wang,my age is 17,my sex is man.
9.2 format(三种方法)
三种方法:
1)按照索引顺序
s = "我叫{},今年{},爱好{}"
s1 = s.format('超人','18','维护和平')
print(s1)
输出
C:\python3\python.exe
D:/python/untitled2/python_auto/lianxi2.py
我叫超人,今年18,爱好维护和平
2)重复项一次添加,优越%s特殊之处
s = "我叫{0},今年{1},爱好{2},大家都知道{0},"
s1 = s.format('超人','18','维护和平')
print(s1)
输出
C:\python3\python.exe
D:/python/untitled2/python_auto/lianxi2.py
我叫超人,今年18,爱好维护和平,大家都知道超人,
3)键值对方法
s = "我叫{name},今年{age},爱好{hobby},大家都知道{name},"
s1 = s.format(name='超人',age='18',hobby='维护和平')
print(s1)
输出
C:\python3\python.exe
D:/python/untitled2/python_auto/lianxi2.py
我叫超人,今年18,爱好维护和平,大家都知道超人,
第10章 公共方法
解释:所有数据类型通用
10.1 len
解释:统计长度
例:
s = 'superman'
print(len(s))
输出
C:\python3\python.exe
D:/python/untitled2/python_auto/lianxi2.py
8
10.2 count
解释:数出元素中字符串出现的次数s
s = 'superman'
print(s.count('m'))
输出:
C:\python3\python.exe
D:/python/untitled2/python_auto/lianxi2.py
1
第11章 数据类型之间的转换
11.1 list转换str
解释说明:+++join
1)用法:
字符串._join()
s = 'you are loser'
s1 = '*'.join(s)
print(s1,type(s1))
输出
C:\python3\python.exe
D:/python/untitled2/python_auto/lianxi2.py
y*o*u* *a*r*e* *l*o*s*e*r <class 'str'>
2)list转str
解释:列表转换成字符串,可迭代对象都适用
l1 = ['zhao','qian','sun','li']
s10 = ''.join(l1)
print(s10,type(s10))
输出
C:\python3\python.exe
D:/python/untitled2/python_auto/lianxi2.py
zhao qian sun li <class 'str'>
注意:!!!!列表里的元素必须都是字符串
11.2 str转换int
必要条件:字符串必须有数字组成
11.3 int转换 str(1)
s = 123
print(s,type(s))
s2 = str(s)
print(s2,type(s2))
输出
C:\python3\python.exe
D:/python/untitled2/python_auto/lianxi2.py
123 <class 'int'>
123 <class 'str'>
11.4 str转换 int(1)
s = '123'
print(s,type(s))
s2 = int(s)
print(s2,type(s2))
输出
C:\python3\python.exe
D:/python/untitled2/python_auto/lianxi2.py
123 <class 'str'>
123 <class 'int'>
11.5 int转换bool
0 是False,非0既是True
print(bool(100))
print(bool(-1))
print(bool(0))
输出
C:\python3\python.exe
D:/python/untitled2/python_auto/lianxi2.py
True
True
False
11.6 bool 转换int
print(int(True))
print(int(False))
输出
C:\python3\python.exe D:/python/untitled2/python_auto/lianxi2.py
1
0
11.7 str转换bool
非空既是True
print(bool(''))
print(bool('wang'))
输出
C:\python3\python.exe
D:/python/untitled2/python_auto/lianxi2.py
False
True
第12章 基础数据类型的补充
for 循环每次删除后,列表发生变化,即不能得到最后的结果,再循环列表时不要随意改变列表的大小,
l1 = [11,44,55,66,77]
# del l1[1::2]
# print(l1)
for i in range(len(l1)):
if i % 2
== 1:
del
l1[i]
print(l1)
输出
C:\python3\python.exe
D:/python/untitled2/python_auto/lianxi2.py
[11, 55, 66]
解决方法:
倒序删除
l1 = [11,44,55,66,77]
for i in range(len(l1)-1,-1,-1):
if i % 2
== 1:
del
l1[i]
print(l1)
输出
C:\python3\python.exe
D:/python/untitled2/python_auto/lianxi2.py
[11, 55, 77]
第13章 拾遗
13.1 分割元素的坑
1)当分割元素为首个元素时,分割空
s = 'my name is supman ,supman ,is good man'
s1 = s.replace(',',',')
print(s1)
s2 = s1.split('m')
print(s2)
输出
C:\python3\python.exe
D:/python/untitled2/python_auto/lianxi2.py
my name is supman ,supman ,is good man
['', 'y na', 'e is sup', 'an ,sup', 'an ,is good
', 'an']
2)分割次数
s = 'my name is supman ,supman ,is good man'
s1 = s.replace(',',',')
print(s1)
s2 = s1.split('m',2)
print(s2)
输出
C:\python3\python.exe
D:/python/untitled2/python_auto/lianxi2.py
my name is supman ,supman ,is good man
['', 'y na', 'e is supman ,supman ,is good man']
13.2 %占位符
l
%s 接收字符串和整型
l
%d 直接收字符串
l
转义%百分比与占位符
print('我叫%s,年龄是%s,学习进度2%%' % ('王',18)
C:\python3\python.exe
D:/python/untitled2/python_auto/lianxi2.py
我叫王,年龄是18,学习进度2%
13.3 比较预算优先级
13.3.1 优先级: () > not > and > or
print(1 > 2 and 3 < 4 or 4 > 5 and 2 >
1 or 9 < 8)
C:\python3\python.exe
D:/python/untitled2/python_auto/lianxi2.py
False
13.3.2 or巧记:
#x or y is Trus ,return x
print(3 or 4)
输出
C:\python3\python.exe
D:/python/untitled2/python_auto/lianxi2.py
3
python_数据类型基本操作(2)的更多相关文章
- Python_数据类型的补充、集合set、深浅copy
1.数据类型的补充 1.1 元组 当元组里面只有一个元素且没有逗号时,则该数据的数据类型与括号里面的元素相同. tu1 = ('laonanhai') tu2 = ('laonanhai') prin ...
- python_数据类型
数据类型 1.数字类型 整型(Int) - 通常被称为是整型或整数,是正或负整数,不带小数点.Python3 整型是没有限制大小的,可以当作 Long 类型使用,所以 Python3 没有 Pytho ...
- Redis数据类型基本操作
String类型: 设置键值对: set key value 设置键值对和过期时间:setex key seconds value ( 以秒为单位 ) 设置多个键值对: mset key1 value ...
- python数据类型基本操作
目录 1.字符串.... 1 2.列表[ ] 3 3.元组 ( ) 4 4.字典 { } 4 5.SET集合... 7 1.字符串 1.1查找字符串 find查找 >>> msg = ...
- python_数据类型_list
names = ['one','two','three','four','five'] #列表切片 print(names[0:]) #['one', 'two', 'three', 'four', ...
- python_数据类型_总结
- 文成小盆友python-num2 数据类型、列表、字典
一.先聊下python的运行过程 计算机是不能够识别高级语言的,所以当我们运行一个高级语言程序的时候,就需要一个“翻译机”来从事把高级语言转变成计算机能读懂的机器语言的过程.这个过程分成两类,第一种是 ...
- redis python操作
1.基于连接池方式实现对五个数据类型操作,每种数据类型2个操作 2.基于spring-data-redis 基于jedis来实现对五种数据类型操作,每种数据类型实现两个操作,包括事务 以上为基于jav ...
- Redis 学习笔记-5种数据类型的基本操作
1.string类型 基本操作列表: GET 获取指定键对应的值 SET 设定键值 DEL 删除指定键对应的值(对所有数据类型都有效) > set hello world OK > get ...
随机推荐
- Android ListView异步载入图片乱序问题,原因分析及解决方式
转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/45586553 在Android全部系统自带的控件其中,ListView这个控件算是 ...
- HDU 4277 USACO ORZ(暴力+双向枚举)
USACO ORZ Time Limit: 5000/1500 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total ...
- AJAX请求提交数据
1,AJAX准备知识:JSON JSON指的是JavaScript对象表示方法(JavaScript Object Notation) JSON是轻量级的文本数据交换格式 JSON独立于语言 JSON ...
- C项目实践--家庭财务管理系统
1.功能需求分析 家庭财务管理系统给家庭成员提供了一个管理家庭财务的平台,系统可以对家庭成员的收入和支出进行增加,删除.修改和查询等操作,并能统计总收入和总支出.其主要功能需求描述如下: (1)系统主 ...
- ABAP JSON
1 DATA: lv_em TYPE string, lv_em1 TYPE string. DATA: lt_but021 TYPE TABLE OF but021, lt_but0211 TYPE ...
- MTK 电池曲线配置【转】
本文转载自:http://blog.csdn.net/u010245383/article/details/51006597 硬件平台:MT8382 网上有很多关于电池曲线配置的文档,定位到具体的文件 ...
- HDU1024 Max Sum Plus Plus —— DP + 滚动数组
题目链接:http://acm.split.hdu.edu.cn/showproblem.php?pid=1024 Max Sum Plus Plus Time Limit: 2000/1000 MS ...
- 微信公众平台-文章-app:让创意变为现实,这30个小程序“凭什么”脱颖而出?
ylbtech-微信公众平台-文章-app:让创意变为现实,这30个小程序“凭什么”脱颖而出? 1.返回顶部 1. 让创意变为现实,这30个小程序“凭什么”脱颖而出? 微信公开课 昨天 创意1:为多种 ...
- bzoj 1497 [NOI2006]最大获利【最大权闭合子图+最小割】
不要被5s时限和50000点数吓倒!大胆网络流!我一个5w级别的dinic只跑了1s+! 看起来没有最大权闭合子图的特征--限制,实际上还是有的. 我们需要把中转站看成负权点,把p看成点权,把客户看成 ...
- Codeforces 938D Buy a Ticket 【spfa优化】
用到了网络流的思想(大概).新建一个源点s,所有边权扩大两倍,然后所有的点向s连边权为点权的无向边,然后以s为起点跑spfa(S什么L优化的),这样每个点到s的距离就是答案. 原因的话,考虑答案应该是 ...