列表生成式
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语句生效了。')
个人总结,希望对你有帮助。