0004-20180422-自动化第五章-python基础学习笔记
内容回顾:
1.数据类型
2.for和while循环
continue
break
#如下循环将怎么打印结果?
for i in range(1,10):
print(i)
for i in range(10,20):
print(i)
#如下循环将怎么打印结果?----结果只打印1
for i in range(1,10):
print(i)
break
for i in range(10,20):
print(i)
#如下循环将怎么打印结果?----只打印1,10-19
for i in range(1,10):
print(i)
for i in range(10,20):
print(i)
break
#如下循环将怎么打印结果?----1,10;2,10;...9,10结束
for i in range(1,10):
print(i)
for i in range(10,20):
print(i)
break
#如果需要打印1,10,2---如何实现
flag = False
for i in range(1,10):
print(i)
if flag:
break
for i in range(10,20):
print(i)
flag = True
break
#使用continue########################
#如下循环将怎么打印结果?----只打印1-9 ,第二个for循环不会执行
for i in range(1,10):
print(i)
continue
for i in range(10,20):
print(i)
######################################
#如下循环将怎么打印结果?---- 只打印1-9 ,第二个for循环的结果不会被打印
for i in range(1,10):
print(i)
for i in range(10,20):
continue
print(i)
#for 和while一起循环,但while将进行永久无限循环
for i in range(1, 10):
print(i)
while True:
print(i)
#range循环嵌套##################
#如下循环将怎么打印结果?1,1-9;2,2-9 ...9,9
for i in range(1,10):
print(i)
for j in range(i,10):
print(j)
#如下循环将怎么打印结果?1,10-2;2,10-3...9,10
for i in range(1,10):
print(i)
for j in range(10,i,-1):
print(j)
###################################
3.编码
ascii - 8
unicode - 16,32
utf-8 -8~32
gbk -16
4字符串格式化
- “asdf%s,sdfsdf%d" %('11',4)
- “asdf%s,sdfsdf" %'11' #只一个时,可以不用括号
- “asdf%s,sdfsdf%%" %'11' #如果需要显示百分号,需要两个%
- 占位符用在变量后面也可以进行格式化
tpl = "我叫%sfdf"
name = tpl %('骑兵',)
name = tpl %('步兵',)
5.变量
name = 'xxx'
#不能使用py已经使用的内置名称作为变量名称,如list,str,tuple ,dict,bool,int等
6.条件语句
if xxx:
pass
elif xxxx:
pass
else:
pass
7. 长度
len(xxx)
8.索引操作
str:
v = "xxxx"
v[0]
tuple:
list
dict: #无序
9. 运算符
- 除法py2和py3的区别
- 字符串相乘
- 字符串相加
- += -=
- or and 顺序(如果第一个为True,并且第一个运算符为or,后面不用再看了)
- in ,not in
dic = {
'k1': 'v1',
'k2': 'v2'
}
li = [11,22,33,44]
#1.列表,查看是否存在其中
if 11 in li :
pass
#2.字典,查看key是否在其中
"k1" in dic
for item in dic:
print(item)
for k in dic.keys():
print(k)
if "k1" in dic:
pass
#3.字典, 查看value是否存在
v1 in dic.values():
#4.字典循环实现#3的需求,检查"v1"是否在字典 dic = {'k1': 'v1','k2': 'v2'}里
val = "v1"
result = False
for item in dic.values():
if item == val:
result = True
break
print(result)
10. py2,py3区别
-
raw_input()
input()
-
range
xrange
range
-
ascii(#-*-encoding:utf-8 -*-)
utf-8
-
print "alex" py2支持
print(alex) py2支持,py3支持
11. 字符串功能
- 大小写
- 首字母大写
- 分割
split('*',1)
分割成已的如两部分时,可以这样:
a,b = split('*',1)
- 去除空白
- 替换
- "xx".join(["11","22","abc"]) #可迭代的对象#列表中元素必须是字符串
- 是否是10进制数
判断字符串是否以XX开头:
方法1:
name = "aleX"
if name[0:2] == 'al':
pass
else:
pass
方法2:
name = "aleX"
if name.startswith('al'):
pass
else:
pass
判断字符串是否以XX结尾:
name = "aleX"
if name.endswith('al'):
pass
else:
pass
字符串的---子序列:
msg = "asdfbgnekimkg"
#单独,称为字符 如 a 或e等
#多个字符组成并且属于这个字符串的字符一起称为----称为子序列 如asdf等
12.列表
- 追加
- 插入,可指定位置
- 反转
- 长度
- for 循环
- 索引的删除 # del li[0]
#切片和步长 li[0:3:1]
嵌套:[
1,[33,44],"xxx"
]
#补充####################:
li = [11,22,33,44,66]
1.索引为奇数的值,删除
#补充:删除列表元素时,删除后会影响列表长度,从而使得索引取值时,容易出现错误
#方法1:
li = [11, 22, 33, 44, 66]
new_list = []
for i in range(0,len(li)):
if i%2 == 0:
new_list.append(li[i])
li = new_list
print(li)
#方法2:---从后面往前面找奇数
li = [11, 22, 33, 44, 66]
for i in range(len(li)-1,-1,-1):
if i%2 == 1:
del li[i]
print(li)
2.切片+步长也可以删除元素
li = [11, 22, 33, 44, 66]
#del li[0:4]
del li[0:5:2]
print(li)
13.tuple
- 元素,不可变
- a = (1,) #元组中一个元素时,记得加上逗号,加上逗号为元组类型,如果元素为数字不加逗号,则为int类型;如果元素为字符串,不加逗号为str类型
val = (1,)
print(val,type(val))
val = ("aa",)
print(val,type(val))
14.字典
dic = {'k1':"v1",'k2':"v2"}
data = dic.get('kk1') #None
len
dic['k1'] = "v1"
for
val = "v1" in dic # False
#出错点:
#题: dic = {'k1': 'v1','k2': 'v2,'k11': 'v11',} 把key= 'k1’的键值对删除
del dic['k1']
#题: dic = {'u1': 'v1','k2': 'v2,'k3': 'v3',} 把key= k的键值对删除
#不要在循环字典的过程中,修改当前字典大小
方法1:
dic_key_list = []
for key in dic: #只循环
dic_key_list.append(key)
#print(dic_key_list)
for row in dic_key_list: #循环其他内容,然后修改字典
if 'k' in row:
#print(row)
del dic[row]
print(dic)
15. int
- 最少用多少个二进制位表示
16. 字符串和布尔值相互转化
- v = "123"
val = int(v)
v = 123
val = str(str)
int -数字永远不可能与列表和元组互相转换
str -字符串与列表和元组的关系
字符串转换为列表和元组
v = "sdfafdffeff132344"
val = list(v) #默认会循环所有字符串
val = tuple(v) #默认会循环所有字符串
列表与元组互相转换:
list
v = (1,2,3)
val = list(v)
tuple
v = [11,22,33,44]
v = tuple(v)
列表或元组换为字符串:
列表转换为字符串:
v = ['礼券','龙哥','老头']
val = str(v) #"['礼券','龙哥','老头']" ----默认此方法不行---可使用jion
--->
val = "".join(v)
print(val) #"礼券龙哥老头"
元组转换为字符串:
v = ('礼券','龙哥','老头')
val = "".join(v)
print(val) #"礼券龙哥老头"
17.布尔值
True,False
False: 0,None,"",{},[],()
#备注:其他语言中,null相当于py中的None
#null 指指向一块空的内存,所有创建的空的对象都执行此空间----null,py中的None功能类似此
#################
#################
第五章复习课程笔记:
内容回顾:
1.数据类型
2.for和while循环
continue
break
#如下循环将怎么打印结果?
for i in range(1,10):
print(i)
for i in range(10,20):
print(i)
#如下循环将怎么打印结果?----结果只打印1
for i in range(1,10):
print(i)
break
for i in range(10,20):
print(i)
#如下循环将怎么打印结果?----只打印1,10-19
for i in range(1,10):
print(i)
for i in range(10,20):
print(i)
break
#如下循环将怎么打印结果?----1,10;2,10;...9,10结束
for i in range(1,10):
print(i)
for i in range(10,20):
print(i)
break
#如果需要打印1,10,2---如何实现
flag = False
for i in range(1,10):
print(i)
if flag:
break
for i in range(10,20):
print(i)
flag = True
break
#使用continue########################
#如下循环将怎么打印结果?----只打印1-9 ,第二个for循环不会执行
for i in range(1,10):
print(i)
continue
for i in range(10,20):
print(i)
######################################
#如下循环将怎么打印结果?---- 只打印1-9 ,第二个for循环的结果不会被打印
for i in range(1,10):
print(i)
for i in range(10,20):
continue
print(i)
#for 和while一起循环,但while将进行永久无限循环
for i in range(1, 10):
print(i)
while True:
print(i)
#range循环嵌套##################
#如下循环将怎么打印结果?1,1-9;2,2-9 ...9,9
for i in range(1,10):
print(i)
for j in range(i,10):
print(j)
#如下循环将怎么打印结果?1,10-2;2,10-3...9,10
for i in range(1,10):
print(i)
for j in range(10,i,-1):
print(j)
###################################
3.编码
ascii - 8
unicode - 16,32
utf-8 -8~32
gbk -16
4字符串格式化
- “asdf%s,sdfsdf%d" %('11',4)
- “asdf%s,sdfsdf" %'11' #只一个时,可以不用括号
- “asdf%s,sdfsdf%%" %'11' #如果需要显示百分号,需要两个%
- 占位符用在变量后面也可以进行格式化
tpl = "我叫%sfdf"
name = tpl %('骑兵',)
name = tpl %('步兵',)
5.变量
name = 'xxx'
#不能使用py已经使用的内置名称作为变量名称,如list,str,tuple ,dict,bool,int等
6.条件语句
if xxx:
pass
elif xxxx:
pass
else:
pass
7. 长度
len(xxx)
8.索引操作
str:
v = "xxxx"
v[0]
tuple:
list
dict: #无序
9. 运算符
- 除法py2和py3的区别
- 字符串相乘
- 字符串相加
- += -=
- or and 顺序(如果第一个为True,并且第一个运算符为or,后面不用再看了)
- in ,not in
dic = {
'k1': 'v1',
'k2': 'v2'
}
li = [11,22,33,44]
#1.列表,查看是否存在其中
if 11 in li :
pass
#2.字典,查看key是否在其中
"k1" in dic
for item in dic:
print(item)
for k in dic.keys():
print(k)
if "k1" in dic:
pass
#3.字典, 查看value是否存在
v1 in dic.values():
#4.字典循环实现#3的需求,检查"v1"是否在字典 dic = {'k1': 'v1','k2': 'v2'}里
val = "v1"
result = False
for item in dic.values():
if item == val:
result = True
break
print(result)
10. py2,py3区别
-
raw_input()
input()
-
range
xrange
range
-
ascii(#-*-encoding:utf-8 -*-)
utf-8
-
print "alex" py2支持
print(alex) py2支持,py3支持
11. 字符串功能
- 大小写
- 首字母大写
- 分割
split('*',1)
分割成已的如两部分时,可以这样:
a,b = split('*',1)
- 去除空白
- 替换
- "xx".join(["11","22","abc"]) #可迭代的对象#列表中元素必须是字符串
12.列表
- 追加
- 插入,可指定位置
- 反转
- 长度
- for 循环
- 索引的删除 # del li[0]
#切片和步长 li[0:3:1]
嵌套:[
1,[33,44],"xxx"
]
#补充####################:
li = [11,22,33,44,66]
1.索引为奇数的值,删除
#补充:删除列表元素时,删除后会影响列表长度,从而使得索引取值时,容易出现错误
#方法1:
li = [11, 22, 33, 44, 66]
new_list = []
for i in range(0,len(li)):
if i%2 == 0:
new_list.append(li[i])
li = new_list
print(li)
#方法2:---从后面往前面找奇数
li = [11, 22, 33, 44, 66]
for i in range(len(li)-1,-1,-1):
if i%2 == 1:
del li[i]
print(li)
2.切片+步长也可以删除元素
li = [11, 22, 33, 44, 66]
#del li[0:4]
del li[0:5:2]
print(li)
13.tuple
- 元素,不可变
- a = (1,) #元组中一个元素时,记得加上逗号,加上逗号为元组类型,如果元素为数字不加逗号,则为int类型;如果元素为字符串,不加逗号为str类型
val = (1,)
print(val,type(val))
val = ("aa",)
print(val,type(val))
14.字典
dic = {'k1':"v1",'k2':"v2"}
data = dic.get('kk1') #None
len
dic['k1'] = "v1"
for
val = "v1" in dic # False
#出错点:
#题: dic = {'k1': 'v1','k2': 'v2,'k11': 'v11',} 把key= 'k1’的键值对删除
del dic['k1']
#题: dic = {'u1': 'v1','k2': 'v2,'k3': 'v3',} 把key= k的键值对删除
#不要在循环字典的过程中,修改当前字典大小
方法1:
dic_key_list = []
for key in dic: #只循环
dic_key_list.append(key)
#print(dic_key_list)
for row in dic_key_list: #循环其他内容,然后修改字典
if 'k' in row:
#print(row)
del dic[row]
print(dic)
========================================
========================================
第五章练习题:
1、执行pyth脚本的两种方式
2、简述位、字节的关系
3、简述ascii、unicode、utf-8、gbk的关系
4、请写出“李杰”分别用utf-8和gbk编码所占的位数
5、pyth单行注释和多行注释分别用什么?
6、声明变量注意事项有哪些?
7、如果有一下变量n1=5,请使用int的提供的方法,得到该变量最少可以用多少个二进制表示?
用bit.lenth
8、布尔值分别有什么?
9、阅读代码,请写出执行的结果
a = "alex"
b = a.capitalize()
print(a)
print(b)
请写出输出结果
10、写代码,有如下变量,请按要求事项每个功能
name = “ aleX”
a.移除name变量对应的值两边的空格,并输出移除后的内容
strip
b.判断name变量对应的值是否以"al"开头,并输出结果
方法1:通过索引取前两个值
方法2:startswith
c. 判断name变量对应的值是否以"X"结尾,并输出结果
endswith
d.将name变量对应的值中的"l"替换为"p",并输出结果
replace
e.将name变量对应的值根据"l"分割,并输出结果。
split
f.请问,上一题e分割之后得到值是什么类型(可选)?
列表
g.将name变量对应的值变大写,并输出结果
upper
h.将name变量对应的值变小写,并输出结果
lower
i.请输出name变量对应的值的第2个字符?
[0]
j.请输出name变量对应的值的前3个字符?
[0:3]
k.请输出name变量对应的值的后2个字符?
[-2:]
l.获取子序列,仅不包含最后一个字符。如oldboy 则获取oldbo; root 则获取roo
[0:-1]
11、写代码:使用while和for循环分别打印字符串每个元素。
for循环:
name = "alex"
for v in name
print(v)
while循环:
name = "alex"
num = 0
while num < len(name):
print(name[num])
num += 1
for 和range一起实现:
name = "alex"
for v in rang(0,len(name)):
print(name[v])
12、请用代码实现:
li = ['alex','eric','rain']
利用下划线将列表的每一个元素拼接成字符串“alex_eric_rain”
"_".join(li)
13、实现一个整数加法计算器:
如:
content = input('请输入内容:') #如用户输入: 5+ 9 或5 + 9,然后分割再进行
content = input('>>>') # 5 + 9
a,b = content.split('+')
a = int (a)
b = int (b)
print(a+b)
14、计算用户输入的内容中有几个整数?
如:
content = input('请输入内容:') #如 asduiaf87123jkjsfd-213928
content = input('>>>') #asduiaf87123jkjsfd-213928
v = "asduiaf87123jkjsfd-213928"
val = 0
for count in v:
if count.isdecimal():
val +=1
print(val)
15、简述int 和9等数字以及str 和"xxoo"等字符串的关系?
9是int类的对象
"xxoo"是str类的对象
16、制作趣味模板程序
需求:等待用户输入名字、地点、爱好,根据用户的名字和爱好进行任意实现
如:敬爱可亲的XXX,最喜欢在XXX地方干XXX
17、制作随机验证码,不区分大小写。
流程:
-用户执行程序
-给用户显示需要输入的验证码
-用户输入的值
用户输入的值和显示的值相同时显示正确信息,否则继续生成随机验证码继续等待用户输入随机验证码
18、开发敏感词语过滤程序,提示用户输入内容,如果用户输入的内容中包含特殊的字符:
如敏感词列表 li = ["苍老师","东京热"],则将用户输入内容中出向任意敏感字符替换为***
改变版---扩展题:
#如果用户输入的内容中存在任意关键字,则提示用户重新输入
#否则,打印结束
li = ["老狗","成绩","海角"]
#has_key为True表示有关键字,为False表示没有关键字
while Ture:
has_key = False
content = input('>>>') #我叫老狗,我爱海角
#循环所有关键字,查看是否内容中存在?
for k in li:
if k in content:
print('请重新输入:')
has_key = Ture
break
if has_key == False:
break
19、查找列表中元素,移除每个元素的空格,并查找以a或A开头,并且以c结尾的所有元素。
li = ["alec","aric","Alex","Tony","rain"]
tu = ("alec","aric","Alex","Tony","rain")
dic = {'k1':'alex','k2':'aric','k3':'Alex','k4':'Tony'}
li = ["alec","aric","Alex","Tony","rain"]
for item in li:
item = item.strip()
#if item[0] == "a" or item[0] == "A" and item[-1] == "c": #---此行为错误写法
正确写法:
if (item[0] == "a" or item[0] == "A") and item[-1] == "c":
或者if item[-1] == "c" and item[0] == "a" or item[0] == "A"
或者使用关键字startswith或endswith
pass
20、写代码,有如下列表,按照要求事项每一个功能
li = ['alex','eric','rain']
a.计算列表长度并输出
len(li)
b. 列表中追加元素"seven",并输入添加后的列表
li = ['alex','eric','rain']
v = li.append('seven')
print(v) #None
print(li) #['alex','eric','rain','seven']
c.请在列表的第1个位置插入元素"Tony",并输出添加后的列表
li = ['alex','eric','rain']
v = li.insert()
d.请修改列表第2个位置的元素为"Kelly",并输出修改后的列表
f.请删除列表中的第2个元素,并输出删除的元素的值和删除元素后的列表
g.请删除列表中的第3个元素,并输出删除元素后的列表
h.请删除列表中的第2至4个元素,并输出删除元素后的列表
i.请将列表所有的元素翻转,并输出翻转后的列表
j.请使用while , len输出列表的索引值,如:0,1,2,3,4..
k.请使用for循环输出列表的所有元素
21.写代码,有如下列表,请按照功能要求实现每一个功能
li = ["hello",'seven',["mon",["h","kelly"],'all'],123,446]
a.请根据索引输出"kelly"
print(li[2][1][1])
b.请使用索引找到'all'元素并将其修改为"ALL",如:li[0][1][9]...
li[2][2] = li[2][2].upper()
print(li)
22、写代码,有如下元组,按照要求实现每一个功能
tu = ('alex','eric','rain')
a.计算元组长度并输出
b.获取元组的第2个元素,并输出
c.获取元组的第1-2个元素,并输出
d. 请使用for输出元组的元素
e.请使用while ,len 输出元组的索引值, 如0,1,2,3
23.有如下变量,请实现要求的功能
tu = ("alex",[11,22,{"k1":'v1,"k2":["age","name"],"k3":(11,22,33)},44])
a.讲述元组的特性
b.请问tu变量中的第一个元素"alex" 是否可被修改?
不能修改
c. 请问tu变量中的"k2"对应的值是什么类型,是否可以被修改,如果可以,请在其中添加一个元素“seven”
d.请问tu变量中的"k3"对应的值是什么类型,是否可以被修改,如果可以,请在其中添加一个元素“seven”
26、字典
dic = {'k1':"v1","k2":"v2","k3":[11,22,33]}
a.请循环输出所有的key
b. 请循环输出所有的value
c.请循环输出所有的key和value
d.请在字典中添加一个键值对,"k4":"v4",输出添加后的字典
e.请在修改字典中"k1"对应的值为"alex",输出所有的字典
f.请在k3对应的值中追加一个元素44,输出修改后的字典
g.请在k3对应的值的第1个位置插入一个元素18,输出修改后的字典
24、元素分类
有如下集合[11,22,33,44,55,66,77,88,99],将大于66的值保存至字典的第一个key中,将小于66的保存至字典的第二个key中
即:{'k1':大于66的所有的列表,'k2':小于66的所有的列表值}
li = [11,22,33,44,55,66,77,88,99]
dic = {'k1':[],'k2':[]}
for item in li:
if item > 66:
dic.get('k1').append(item)
elif item < 66:
dic.get('k2').append(item)
print(dic)
#24扩展:
#题目:
li = [11,22,33,44,55,66,77,88,99]
dic = {}
#在循环中创建分别创建k1和k2,并将大于66的作为k1的值,小于66的作为k2的值
#######
for item in li:
if item > 66:
if 'k1' not in dic:
dic['k1'] =[item,]
else:
dic['k1'].append(item)
#print(dic)
elif item < 66:
if 'k2' not in dic:
dic['k2'] = [item, ]
else:
dic['k2'].append(item)
#print(dic)
print(dic)
25.输出商品列表,用户输入序号,显示用户选中的商品
商品 li = ['手机','电脑','鼠标垫','游艇']
要求:页面显示 序号+ 商品名称, 如:
1 手机
2 电脑
...
26.列举字符串,数字中布尔值是False的所有值
27.有两个列表
l1 = [11,22,33]
l2 = [22,33,44]
a.获取内容相同的元素列表
b.获取l1中有,l2中没有的元素列表
c.获取l2中有,l1中没有的元素列表
d.获取l1和l2中内容都不同的元素
28、购物车
功能要求:
要求用户输入自己拥有的资产,如2000
显示商品列表,让用户根据序号选择商品,加入购物车
购买,如果商品总额大于资产,提示账号余额不足,否则,购买成。
goods =[
{"name":"电脑","price":1999}
{"name":"鼠标","price":10}
{"name":"游艇","price":20}
{"name":"美女","price":998}
]
39、分页显示内容
a.通过for循环创建301条数据,数据类型不限,如:
alex-1 alex1@live.com pwd1
...
b.提示用户请输入要查看的页面,当用户输入指定的页面,则显示指定数据
注意:
-每页显示10条数据
-用户输入页面是非10进制数字,则提示输入内容格式错误
=====================================脚本===================================
复习相关脚本:
"""
#4 字符串格式化:
tpl = "我叫%s"
name = tpl %('骑兵',)
#name = tpl %('步兵',)
print(name)
""" #3.for循环 """
#如下循环将怎么打印结果?
for i in range(1,10):
print(i)
for i in range(10,20):
print(i)
""" """
#如下循环将怎么打印结果?----结果只打印1
for i in range(1, 10):
print(i)
break
for i in range(10, 20):
print(i)
""" """
#如下循环将怎么打印结果?----只打印1,10-19
for i in range(1,10):
print(i)
for i in range(10,20):
print(i)
break
""" """
#如下循环将怎么打印结果?----1,10;2,10;...9,10结束
for i in range(1,10):
print(i)
for i in range(10,20):
print(i)
break
""" """
#如果需要打印1,10,2---如何实现
flag = False
for i in range(1,10):
print(i)
if flag:
break
for i in range(10,20):
print(i)
flag = True
break """ """
#如下循环将怎么打印结果?----只打印1-9,第二个for循环不会执行
for i in range(1, 10):
print(i)
continue
for i in range(10, 20):
print(i)
""" """
#如下循环将怎么打印结果?---- 只打印1-9 ,第二个for循环的结果不会被打印
for i in range(1, 10):
print(i)
for i in range(10, 20):
continue
print(i)
""" """
#for 和while一起循环,但while将进行永久无限循环
for i in range(1, 10):
print(i)
while True:
print(i)
""" """
for i in range(1,10):
print(i)
for j in range(i,10):
print(j)
""" """
for i in range(1,10):
print(i)
for j in range(10,i,-1):
print(j)
""" """
#字典, 查看key是否存在
dic = {'k1': 'v1','k2': 'v2'}
"k1" in dic
for k in dic.keys():
print(k)
if "k1" in dic.keys():
print("k1")
""" """
#字典, 查看value是否存在
dic = {'k1': 'v1','k2': 'v2'}
"v1" in dic
for v in dic.values():
print(v)
if "v1" in dic.values():
print("v1")
""" """
字典循环实现上述的需求,检查"v1"是否在字典
dic = {'k1': 'v1','k2': 'v2'}
val = "v1"
result = False
for item in dic.values():
if item == val:
result = True
break
print(result) """ #
# 补充####################:
# 列表中索引为奇数的值,删除 """
#方法1:
li = [11, 22, 33, 44, 66]
new_list = []
for i in range(0,len(li)):
if i%2 == 0:
new_list.append(li[i])
li = new_list
print(li)
""" """
#方法2:---从后面往前面找奇数
li = [11, 22, 33, 44, 66]
for i in range(len(li)-1,-1,-1):
if i%2 == 1:
del li[i]
print(li)
""" """
#2.切片+步长也可以删除元素
li = [11, 22, 33, 44, 66]
#del li[0:4]
del li[0:5:2]
print(li) """ # 值为奇数的值,删除 #元组
"""
val = ("aa",)
print(val,type(val))
""" #字典
"""
#取字典中不存在的key值时,为none
dic = {'k1':"v1",'k2':"v2"}
data = dic.get('kk1')
print(data)
""" """
#把key= 'k1’的键值对删除
dic = {'k1':"v1",'k2':"v2",'k11':"v11"}
del dic['k1']
print(dic) """ """
#不要在循环字典的过程中修改当前字典大小!!!
dic = {'u1':"v1",'k2':"v2",'k3':"v3"}
dic_key_list = []
for key in dic:
dic_key_list.append(key)
#print(dic_key_list)
for row in dic_key_list:
if 'k' in row:
#print(row)
del dic[row]
print(dic) """ #
#列表和元组转换为字符串
"""
#列表转换为字符串
v = ['礼券','龙哥','老头']
val = "".join(v)
print(val) """ """
#元组转换为字符串
v = ('礼券','龙哥','老头')
val = "".join(v)
print(val) """
练习题相关脚本:
"""
#20题:
#b
li = ['alex','eric','rain']
v = li.append('seven')
print(v,'test')
print(li)
""" """
#21题
#b
li = ["hello",'seven',["mon",["h","kelly"],'all'],123,446]
li[2][2] = li[2][2].upper()
print(li)
""" """
#24题:
li = [11,22,33,44,55,66,77,88,99]
dic = {'k1':[],'k2':[]}
for item in li:
if item > 66:
dic.get('k1').append(item)
#dic['k1'].append(item)
elif item < 66:
dic.get('k2').append(item)
print(dic)
""" #24扩展:
#题目:
li = [11,22,33,44,55,66,77,88,99]
dic = {}
#在循环中创建分别创建k1和k2,并将大于66的作为k1的值,小于66的作为k2的值
#######
for item in li:
if item > 66:
if 'k1' not in dic:
dic['k1'] =[item,]
else:
dic['k1'].append(item)
#print(dic)
elif item < 66:
if 'k2' not in dic:
dic['k2'] = [item, ]
else:
dic['k2'].append(item)
#print(dic)
print(dic)
0004-20180422-自动化第五章-python基础学习笔记的更多相关文章
- 0003.5-20180422-自动化第四章-python基础学习笔记--脚本
0003.5-20180422-自动化第四章-python基础学习笔记--脚本 1-shopping """ v = [ {"name": " ...
- 0001-20180421-自动化第一章-python基础学习笔记
======================学习python==================介绍: python种类: cpython(*),jpython,ironpython,rubypyth ...
- 0006-20180422-自动化第七章-python基础学习笔记
内容回顾: - bytes - str 和bytes - int - str - list - tuple - 深拷贝和浅拷贝 今日内容: 数据类型 - bytes - int - str - boo ...
- 0005-20180422-自动化第六章-python基础学习笔记
day6 内容回顾: 1. 变量 2. 条件 3. while循环 4. 数据类型 - int - bit_length - bool - True/False - str - upper - low ...
- 0003-20180422-自动化第三章-python基础学习笔记
3章 内容回顾: 1. 计算机组成 2. 程序编译器 3. 变量 4. 条件 5. 循环 6. py2与py3区别 - 默认编码, - 除法, - input ,raw_input 7. 位,字节关系 ...
- Python基础学习笔记(五)常用字符串内建函数
参考资料: 1. <Python基础教程> 2. http://www.runoob.com/python/python-strings.html 3. http://www.liaoxu ...
- Python基础学习笔记(二)变量类型
参考资料: 1. <Python基础教程> 2. http://www.runoob.com/python/python-chinese-encoding.html 3. http://w ...
- python 基础学习笔记(1)
声明: 本人是在校学生,自学python,也是刚刚开始学习,写博客纯属为了让自己整理知识点和关键内容,当然也希望可以通过我都博客来提醒一些零基础学习python的人们.若有什么不对,请大家及时指出, ...
- 第一课、python基础学习笔记
自动化非自动化的区别 自动化测试就是让机器按照人的想法把功能全部跑一遍 自动化测试的过程,让我们写一段程序去测试另一段程序是否正常的过程 Java 编译型语言, 编码-->编译-->解 ...
随机推荐
- 使用100%面向过程的思维方式来写java程序
1.java是强制写class关键字的语言,不能有独立的函数游离在类外出现在文件中,这和python c++ 都不同,后面的都可以单独在类外写函数,所以java被称为是纯面向对象的语言,py和c++都 ...
- Adas术语简称
V2X: DSRC:专用短程通信(DSRC)的公用频谱信道交换数据
- springCloud之配置中心学习
调试了好久,中与在地址栏输入http://localhost:9004/liyong-test/ms-dev.properties,奇迹出现了,终于可以访问我的配置中心了.这次也是碰运气,并没有觉得会 ...
- 已知两点的经度和纬度,计算两点间的距离(php,javascript)
php代码:转载 http://www.cnblogs.com/caichenghui/p/5977431.html /** * 求两个已知经纬度之间的距离,单位为米 * * @param lng1 ...
- centos 安装 python36
centos6 安装 python36 临时方法: https://www.softwarecollections.org/en/scls/rhscl/rh-python36/ 方法二: http:/ ...
- 基于nmap扫描结果的端口爆破工具:BrutesPray
大家搞内网或者C段渗透测试的时候可能遇到很多时候需要对大批的主机进行精确爆破,这时候BruteSpray就派上用场了. BruteSpray是一款基于nmap扫描输出的gnmap/XML文件.自动 ...
- 【C++ 模板迭代器实例/半素数】
题目:判断一个数是不是两个素数的乘积,是输出YES,不是输出NO.数据范围为2-1000000. 为了解决这个问题,我们继续使用STL——vector & set,分别用来存储素数和半素数.为 ...
- Tensorflow一些常用基本概念与函数(1)
为了快速的熟悉TensorFlow编程,下面从一段简单的代码开始: import tensorflow as tf #定义‘符号’变量,也称为占位符 a = tf.placeholder(" ...
- Ubuntu12.04下解决sudo apt-get update警告Duplicate sources.list entry
sudo apt-get update,会提示如下警告: W: Duplicate sources.list entry http://archive.canonical.com/ubuntu/ pr ...
- 从javaScript中学习正则表达式——RegExp
正则表达式工具:http://regexper.com 由于国外网络可以选择 https://github.com/javallone/regexper-static 离线安装作为本地服务. 正则 ...