1. 字典

字典,是一系列键值对,每个键都与一个值相关联。键是不可变的,值可修改,在python中的标志是{}。

⑴ 增加

dict['新增键k'] = 新增值v
dict.setdefault('k','v')

⑵ 删除

dict.pop('键')     #根据key删除键值对,有返回值
del dict['键']     #没有返回值
dict.itempop()     #随机删除某个键值对,删除的键值以元组的形式返回
dict.clear()       #清空字典

⑶ 修改

ditc2.update(dict1)    #将dict1所有键值对覆盖添加到dict2中(键相同则覆盖,没有就增加)
dict2 = {'name':'Lee','weight':98}   #直接带着键修改新值

⑷ 查找

dict.items()        #查看键值对
dict.keys()         #查看键
dict.values()       #查看值
dict['键']          #若没有该键值,会报错
dict.get('键','默认返回值')     #若没有该键值,会返回设定的默认返回值

2. 集合

set()集合是无序的不可重复的元素的集合。

python 满足特定条件的行修改为none_python

3. 判断语句

⑴ 简单if语句

if conditional_test:     
	do something

⑵ if-else语句

age = 17
if age >= 18: 
	print("You are old enough to vote!")     
	print("Have you registered to vote yet?")  
else:      
	print("Sorry, you are too young to vote.")      
	print("Please register to vote as soon as you turn 18!")

⑶ if-elif-else语句

age = 12
if age < 4:      
	print("Your admission cost is $0.") 
elif age < 18:      
	print("Your admission cost is $5.") 
else:      
	print("Your admission cost is $10.")

4. 三目表达式

定义:三元运算是if-else 语句的快捷操作,也被称为条件运算。
结构:[on_true] if [expression] else [on_false]
示例:

x,y = 1,3
bigger = x if x>y else y

多层嵌套使用

a,b,c = 2,6,8 
max = a if a>b and a>c else (b if b>a and b>c else c)

5. 列表、集合和字典推导式

列表:[expr for val in collection if condition]
集合:{expr for val in collection if condition}
字典:{key_expr:value_expr for value in collection if condition}
等同于如下for循环:

result = []
for val in collection:
    if condition:
        result.append(expr)

嵌套列表推导式
列表推导式的for部分是根据嵌套的顺序,过滤条件放在最后。

some_tuples = [(1,2,3),(4,5,6),(7,8,9)]
flattened = [x for tup in some_tuples for x in tup]
print(flattened)

等价于下面的for循环语句:

flattened = []
for tup in some_tuples:
  for x in tup:
    flattened.append(x)

6. lambda表达式

定义:lambda 函数是一种快速定义单行的最小函数,又称匿名函数,可以用在任何需要函数的地方 。
结构:lambda 形参列表 : 函数返回值表达式语句
示例:

x = lambda a,b:a**b
print(x(3,6))

注意:所谓匿名函数,也就是说可以不需要命名,只是临时一用。

data =  list(range(10)) 
#列表元素自乘
print('自乘后:',list(map(lambda n:n*n ,data))) # 自乘后: [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

6. 循环语句

⑴ for 语句

for循环是一种迭代循环机制。

for num in range(10,20):  # 迭代 10 到 20 之间的数字
   for i in range(2,num): # 根据因子迭代
      if num%i == 0:      # 确定第一个因子
         j=num/i          # 计算第二个因子
         print '%d 等于 %d * %d' % (num,i,j)
         break            # 跳出当前循环
   else:                  # 循环的 else 部分
      print num, '是一个质数'

⑵ while语句

while循环是条件循环,即在某条件下,循环执行某段程序。

current_number = 1 
while current_number <= 5:    
	print(current_number)    
	current_number += 1

⑶ break

break 语句可以跳出 for 和 while 的循环体。如果从 for 或 while 循环中终止,任何对应的循环 else 块将不执行。

for i in range(10):  
   if i == 5:
      break
   print ('数字为 :', i)
num = 8               
while num > 0:             
   print ('数字为 :', num)
   num -= 1
   if num == 5:
      break

⑷ continue

continue语句被用来告诉Python跳过当前循环块中的剩余语句,然后继续进行下一轮循环。

for i in range(10):  
   if i == 5:
      continue
   print ('数字为 :', i)
num = 0  
while num < 10: 
	num += 1      
	if num % 2 == 0:          
		continue
	print(num)

⑸ pass

pass是空语句,是为了保持程序结构的完整性,它不做任何事情,一般用做占位语句。

while True:
	pass  # 等待键盘中断 (Ctrl+C)