python基础学习(三)

列表生成式

list1 = [i for i in range(3)] # 规定列表中元素的范围
print(list1)
等价于
list1 = []
for i in range(3):
list1.append(i)
print(list1)

list2 = [m+n for m in ['天字', '地字'] for n in '一二'] # 列表元素可以是组合,分别规定范围。
print(list2)
等价于
list2 = []
for m in ['天字', '地字']:
for n in '一二':
list2.append(m+n)
print(list2)

list3 = [n*n for n in range(1,11) if n % 3 == 0] # 元素既可规定范围,也可附加条件。
print(list3)
等价于
list3 = []
for i in range(1,11):
if i % 3 == 0:
list3.append(i*i)
print(list3)

字典

scores = {'小明':95,'小红':90,'小刚':90}

scores:字典名
= : 赋值号
{} :大括号
小明,小红,小刚 :键
95,90,90 :值

根据键,查找值

用法:字典名[键]

scores = {'小明': 95, '小红': 90, '小刚': 90}
print(scores['小明'])
#输出95

#取出小芳的成绩
scores = {
    '第一组':{'小明':95,'小红':90,'小刚':100,'小美':85},
    '第二组':{'小强':99,'小兰':89,'小伟':93,'小芳':88}
    }print(scores['第二组']['小芳'])
 #输出88

删除键

用法:del 字典名[键]

album = {'周杰伦':'七里香','王力宏':'心中的日月'}
del album['周杰伦']
print(album)
#输出{'王力宏': '心中的日月'}

增加键值对

用法:字典名[键] = 值

album = {'王力宏':'心中的日月'}
album['周杰伦'] = '十一月的萧邦'
print(album)
#输出{'王力宏': '心中的日月', '周杰伦': '十一月的萧邦'}

len()函数

计算一个列表或者字典的长度(元素个数)

students = ['小明','小红','小刚']
scores = {'小明':95,'小红':90,'小刚':90}
print(len(students))
#输出3
print(len(scores))
#输出3

元祖

元祖和列表类似,用()表示,无法对元祖进行增删元素操作
元祖提取方式也是偏移量,如 tuple1[1]、tuple1[1:]。另外,元祖也支持任意的嵌套。

tuple1 = ('A','B')
list2 = [('A','B'),('C','D'),('E','F')]
print(tuple1[0])
#输出A
print(list2[1][1])
#输出D

循环

for…in…循环

for i in [1,2,3,4,5]:
    print(i*5) #将会被重复执行

range()函数

经常和for in搭配使用

for i in range(3):
    print(i)
 #输出012

for i in range(13,17):
    print(i)
#输出 13 14 15 16

for i in range(0,10,3):
    print(i)
#输出0 3 6 9

range(a,b,c)
a:计数从a开始。不填时,默认从0开始
例如range(1,5),表示从1开始生成
b:计数从b结束,但不包括b
例如range(11),表示从0开始到11结束,不包括11
c:计数的间隔,不填时默认为1
例如range(0,30,5),表示计数的间隔5

while循环

a = 0
while a < 5: #有冒号
    a = a + 1
    print(a) #缩进很重要

for循环 VS while循环

比较 for循环 while循环
循环次数明确
循环次数不明确
把一件事重复N遍

布尔值

True和False

python中的真假判断

假的 其他都是真的
False True
0 3(任意整数)1.0(任意浮点数)
‘’(空字符串) ‘苏东波’(字符串)
[](空列表) [1,2,3]
{}(空字典) {1:’春风’,2:’秋分’}
None

bool()

能判断括号里面的数据为真/假
用法bool(判断真假的元素)

print(bool(1))
#输出结果True
print(bool(''))
#输出结果False

布尔值的运算——and

True and True:为真
True and False:为假
False and True:为假
False and False:为假

布尔值的运算——or

True or True:为真
True or False:为真
False or True:为真
False or False:为假

布尔值的运算——not

not True:为假
not False:为真

break语句

一般用来结束循环,写作if…break
if…break的意思是,满足了某个条件,就提前结束循环

#break语句搭配for循环
for...in...:
    ...
    if ...:
        break

#break语句搭配while循环
while...(条件):
    ...
    if ...:
        break

continue语句

用法if…continue
当某个条件被满足的时候,触发continue语句,将跳过之后的代码,直接回到循环的开始

for...in...: #跳转循环开头,进行下一轮循环
    ...
    if ...:
        continue #满足循环条件,触发continue语句
    ...

while...(条件): #跳转循环开头,进入下一轮循环
    ...
    if ...:
        continue #满足循环条件,触发continue语句
for i in range(5):
    print('明日复明日')
    if i==3:  # 当i等于3的时候触发
        continue # 回到循环开头
    print('这句话在i等于3的时候打印不出来')
#输出结果:
# 明日复明日
# 这句话在i等于3的时候打印不出来
# 明日复明日
# 这句话在i等于3的时候打印不出来
# 明日复明日
# 这句话在i等于3的时候打印不出来
# 明日复明日
# 明日复明日
# 这句话在i等于3的时候打印不出来

pass语句

用法:if…pass
满足条件,跳过这个语句

a = int(input('请输入一个整数:'))
if a >= 100:
    pass
else:
    print('你输入了一个小于100的数字')

else语句

用在循环语句后,如果正常结束循环就执行else语句


for i in range(5):
    a = int(input('请输入0来结束循环,你有5次机会:'))
    if a == 0:
        print('你触发了break语句,循环结束,导致else语句不会生效。')    
        break
else:
    print('5次循环你都错过了,else语句生效了。')

个人总结,希望对你有帮助。


   转载规则


《python基础学习(三)》 流年 采用 知识共享署名 4.0 国际许可协议 进行许可。
 上一篇
python基础学习(四) python基础学习(四)
time模块sleep()用法:time.sleep(secs) secs表示多少秒,填入数字 import time #调用time模块 time.sleep(secs) #使用time模块下面的sleep()函数,括号里填
2019-09-16
下一篇 
python基础学习(二) python基础学习(二)
条件判断三种类型单向判断:if双向判断:if…else…多向判断:if…elif…else…if条件语句下需缩进,else需要平级前提条件,elif必要if,非必要else 嵌套条件条件套条件,额外附加条件需要在基础条件下缩进 嵌套写法
2019-08-31
  目录