Datawhale_Python基础组队学习task3

字典

字典是一种可变容器,且可存储任意类型对象。

  • 键必须是唯一的,不允许同一个键出现两次。如果同一个键被赋值两次,后一个值会被记住。
  • 值可以取任何数据类型,但键必须不可变,可以用数字,字符串或元组充当,而用列表就不行
dict = {key1 : value1, key2 : value2 }

修改字典

dict = {'Name': 'Faye', 'Age': 25, 'Class': 'Python'}
dict['Age'] = 8               
print(dict)
>>>{'Name': 'Faye', 'Age': 8, 'Class': 'Python'}

增加键值

dict = {'Name': 'Faye', 'Age': 25, 'Class': 'Python'}
dict['Sex'] = 'Female'               
print(dict)
>>>{'Name': 'Faye', 'Age': 25, 'Class': 'Python', 'Sex': 'Female'}

删除字典元素

dict = {'Name': 'Faye', 'Age': 25, 'Class': 'Python'}
del dict['Age']        # 删除键Age         
print(dict)
>>>{'Name': 'Faye', 'Class': 'Python'}

字典内置函数

函数及描述实例
len(dict)
计算字典元素个数,即键的总数
dict = {'Name': 'Faye', 'Age': 25, 'Class': 'Python'}
print(len(dict))
>>>3
str(dict)
输出字典,以可打印的字符串表示。
dict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
str(dict)
"{'Name': 'Runoob', 'Age': 7, 'Class': 'First'}"
type(dict)
返回输入的变量类型,变量是字典就返回字典类型。
dict = {'Name': 'Faye', 'Age': 25, 'Class': 'Python'}
print(type(dict))
>>><class 'dict'>
clear()
删除字典内所有元素
dict.clear()
dict = {'Name': 'Faye', 'Age': 25, 'Class': 'Python'}
dict.clear()
print(dict)
>>>{}
fromkeys()
创建一个新字典,以序列 seq 中元素做字典的键,value 为字典所有键对应的初始值,默认为None
dict.fromkeys(seq[, value])
sep = ('name', 'age', 'sex')
dict = dict.fromkeys(sep,10)
print(dict)
>>>{'name': 10, 'age': 10, 'sex': 10}
get()
返回指定键的值,如果值不在字典中返回默认值None
dict.get(key, default=None)
dict = {'Name': 'Runoob', 'Age': 27}
print(dict.get('Name'))
print(dict.get('Sex'))
>>>Runoob
>>>None
in 操作符
键在字典 dict 里返回 true,否则返回 false
key in dict
items()
返回可遍历的(键, 值) 元组数组
dict.items()
dict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
print(dict.items())
>>>dict_items([('Name', 'Runoob'), ('Age', 7), ('Class', 'First')])
keys()
返回一个可迭代对象,可以使用 list() 来转换为列表
dict.key()
dict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
print(dict.keys())
>>>dict_keys(['Name', 'Age', 'Class'])
values()
返回一个迭代器,可以使用 list() 来转换为列表
dict.values()
dict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
print(dict.values())
>>>dict_values(['Runoob', 7, 'First'])
update()
把字典参数 dict2 的 key/value(键/值) 对更新到字典 dict
dict.update(dict2)
dict1 = {'Name': 'Runoob', 'Age': 7}
dict2 = {'Sex': 'Famle'}
dict1.update(dict2)
print(dict1)
>>>{'Name': 'Runoob', 'Age': 7, 'Sex': 'Famle'}
pop()
删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。 否则,返回default值
pop(key[,default])
dict = {'Name': 'Runoob', 'Age': 7, 'Sex': 'Famle'}
pop_obj = dict.pop('Sex')
print(pop_obj)
>>>Famle
popitem()
返回并删除字典中的一对键和值(一般删除末尾对).如果字典已经为空,却调用了此方法,就报出KeyError异常
popitem()
dict = {'Name': 'Runoob', 'Age': 7, 'Sex': 'Famle'}
pop_obj = dict.popitem()
print(pop_obj)
>>>('Sex', 'Famle')

集合

集合(set)是一个无序的不重复元素序列。
可以使用大括号 { } 或者 set() 函数创建集合

parame = {value01,value02,...}

set(value)

集合间的运算

a = set('abracadabra')
b = set('alacazam')
print(a)    # 自动去重
print(a - b)   # 集合a中包含而集合b中不包含的元素
print(a | b)    # 集合a或b中包含的所有元素
print(a & b)   # 集合a和b中都包含了的元素
print(a ^ b)    # 不同时包含于a和b的元素
>>>{'r', 'b', 'a', 'c', 'd'}
>>>{'d', 'b', 'r'}
>>>{'r', 'b', 'a', 'l', 'c', 'd', 'z', 'm'}
>>>{'c', 'a'}
>>>{'d', 'l', 'z', 'r', 'b', 'm'}

集合的基本操作

方法及描述实例
add()
给集合添加元素,如果添加的元素在集合中已存在,则不执行任何操作
set.add(elmnt)
fruits = {"apple", "banana", "cherry"}
fruits.add("orange")
print(fruits)
>>>{'banana', 'apple', 'cherry', 'orange'}
difference()
返回集合的差集
set.difference(set)
a = {"apple", "banana", "cherry"}
b = {"apple", "orange", "cherry"}
c = a.difference(b)
print(c)
>>>{'banana'}
difference_update()
用于移除两个集合中都存在的元素
set.difference_update(set)
a = {"apple", "banana", "cherry"}
b = {"apple", "orange", "cherry"}
a.difference_update(b)
print(a)
>>>{'banana'}
discard()
用于移除指定的集合元素
set.discard(value)
a = {"apple", "banana", "cherry"}
print(a)
>>>{'cherry', 'apple'}
intersection()
返回两个或更多集合中都包含的元素,即交集
set.intersection(set1, set2 ... etc)
a = {"apple", "banana", "cherry"}
b = {"apple", "orange", "cherry"}
c = a.intersection(b)
print(c)
>>>{'apple', 'cherry'}
intersection_update()
计算交集,intersection() 方法是返回一个新的集合,而 intersection_update() 方法是在原始的集合上移除不重叠的元素。
set.intersection_update(set1, set2 ... etc)
a = {"apple", "banana", "cherry"}
b = {"apple", "orange", "cherry"}
a.intersection_update(b)
print(a)
>>>{'apple', 'cherry'}
isdisjoint()
用于判断两个集合是否包含相同的元素,如果没有返回 True,否则f返回False
set.intersection_update(set1, set2 ... etc)
a = {"apple", "banana", "cherry"}
b = {"apple", "orange", "cherry"}
c = a.isdisjoint(b)
print(c)
>>>False
issubset()
判断集合的所有元素是否都包含在指定集合中,如果是则返回 True,否则返回 False
set.issubset(set)
a = {"apple", "banana", "cherry"}
b = {"apple", "orange", "cherry"}
c = a.issubset(b)
print(c)
>>>False
union()
返回两个集合的并集
set.union(set1, set2...)
a = {"apple", "banana", "cherry"}
b = {"apple", "orange", "cherry"}
c = a.union(b)
print(c)
>>>{'banana', 'orange', 'apple', 'cherry'}
update()
添加新的元素或集合到当前集合
set.update(set)
a = {"apple", "banana", "cherry"}
b = {"apple", "orange", "cherry"}
a.update(b)
print(a)
>>>{'banana', 'orange', 'apple', 'cherry'}

判断语句

Python 条件语句是通过一条或多条语句的执行结果(True 或者 False)来决定执行的代码块

if 语句

if condition_1:
    statement_block_1
elif condition_2:
    statement_block_2
else:
    statement_block_3
  • 如果 “condition_1” 为 True 将执行 “statement_block_1” 块语句
  • 如果 "condition_1"为False,将判断 “condition_2”
  • 如果"condition_2" 为 True 将执行 “statement_block_2” 块语句
  • 如果 "condition_2"为False,将执行"statement_block_3"块语句
var = 25
if var < 10 :
	print('var小于10')
elif var < 20:
	print('var小于20')
else :
	print('var大于20')
>>>var大于20

if 嵌套

if 表达式1:
    语句
    if 表达式2:
        语句
    elif 表达式3:
        语句
    else:
        语句
elif 表达式4:
    语句
else:
    语句
num = int(input('输入一个数字:'))
if num%2==0:
	if num%3==0:
		print('既能整除2,也能整除3')
	else :
		print('只能整除2,不能整除3')
else:
	if num%3==0:
		print('不能整除2,只能整除2')
	else :
		print('不能能整除2,也不能整除3')

循环语句

while 循环

while 判断条件:
    语句
var = 10                    
while var > 0:              
   # print ('当期变量值为 :', var)
   var = var -1
   if var == 5:
      continue     # 跳过语句,继续进行下一轮循环
   print ('当前变量值 :', var)
   if var == 3:
      break     # 循环中终止
print ("Good bye!")
>>>当前变量值 : 9
>>>当前变量值 : 8
>>>当前变量值 : 7
>>>当前变量值 : 6
>>>当前变量值 : 4
>>>当前变量值 : 3
>>>Good bye!

for 语句

for <variable> in <sequence>:
    <statements>
else:
    <statements>
for i in range(1,10):
	for j in range(1,i+1):
		print('{}x{}={}\t'.format(j, i, i*j), end='')
	print()
>>>1x1=1    
>>>1x2=2    2x2=4    
>>>1x3=3    2x3=6    3x3=9    
>>>1x4=4    2x4=8    3x4=12    4x4=16    
>>>1x5=5    2x5=10    3x5=15    4x5=20    5x5=25    
>>>1x6=6    2x6=12    3x6=18    4x6=24    5x6=30    6x6=36    
>>>1x7=7    2x7=14    3x7=21    4x7=28    5x7=35    6x7=42    7x7=49    
>>>1x8=8    2x8=16    3x8=24    4x8=32    5x8=40    6x8=48    7x8=56    8x8=64    
>>>1x9=9    2x9=18    3x9=27    4x9=36    5x9=45    6x9=54    7x9=63    8x9=72    9x9=81

三目表达式

res = 条件成立语句 if 条件 else 条件不成立的语句
res = a if a > b else b  
num1 = 10
num2 = 20
var = 'num1小于num2' if num1 < num2 else 'num1大于num2'
print(var)
>>>num1小于num2
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值