坚持不懈续集 (二) 初学者挑战学习Python编程30天_挑战30天学完python day10 循环(3)

如果你也是看准了Python,想自学Python,在这里为大家准备了丰厚的免费学习大礼包,带大家一起学习,给大家剖析Python兼职、就业行情前景的这些事儿。

一、Python所有方向的学习路线

Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

二、学习软件

工欲善其必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。

三、全套PDF电子书

书籍的好处就在于权威和体系健全,刚开始学习的时候你可以只看视频或者听某个人讲课,但等你学完之后,你觉得你掌握了,这时候建议还是得去看一下书籍,看权威技术书籍也是每个程序员必经之路。

四、入门学习视频

我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。

四、实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

五、面试资料

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

成为一个Python程序员专家或许需要花费数年时间,但是打下坚实的基础只要几周就可以,如果你按照我提供的学习路线以及资料有意识地去实践,你就有很大可能成功!
最后祝你好运!!!

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

lst.remove(item)



fruits = [‘banana’, ‘orange’, ‘mango’, ‘lemon’, ‘banana’]
fruits.remove(‘banana’)
print(fruits) # [‘orange’, ‘mango’, ‘lemon’, ‘banana’] - this method removes the first occurrence of the item in the list
fruits.remove(‘lemon’)
print(fruits) # [‘orange’, ‘mango’, ‘banana’]


使用 Pop 删除项目  
 的弹出()方法删除指定索引,(或如果未指定索引中的最后一项):



语法

lst = [ ‘item1’ , ‘item2’ ]
lst . pop () # 最后一项
lst.pop(index)



fruits = [‘banana’, ‘orange’, ‘mango’, ‘lemon’]
fruits.pop()
print(fruits) # [‘banana’, ‘orange’, ‘mango’]

fruits.pop(0)
print(fruits) # [‘orange’, ‘mango’]


### 标题使用 Del 删除项目


该删除关键字删除指定索引和它也可以被用于删除索引范围内的物品。它也可以完全删除列表



语法

lst = [ ‘item1’ , ‘item2’ ]
del lst [ index ] # 只有一个项目
del lst # 彻底删除列表



fruits = [‘banana’, ‘orange’, ‘mango’, ‘lemon’, ‘kiwi’, ‘lime’]
del fruits[0]
print(fruits) # [‘orange’, ‘mango’, ‘lemon’, ‘kiwi’, ‘lime’]
del fruits[1]
print(fruits) # [‘orange’, ‘lemon’, ‘kiwi’, ‘lime’]
del fruits[1:3] # # 这会删除给定索引之间的项目,因此它不会删除索引为 3 的项目!
print(fruits) # [‘orange’, ‘lime’]
del fruits
print(fruits) # 这应该给:NameError:名字“水果”没有定义


### 清除清单项目


在明确的()方法清空列表:



语法

lst = [ ‘item1’ , ‘item2’ ]
lst.clear()



fruits = [‘banana’, ‘orange’, ‘mango’, ‘lemon’]
fruits.clear()
print(fruits) # []


### 复制列表


可以通过以下方式将列表重新分配给新变量来复制列表:list2 = list1。现在,list2 是对list1 的引用,我们在list2 中所做的任何更改也将修改原来的list2,但是在很多情况下,我们不喜欢修改原始版本,而是喜欢拥有不同的副本。避免上述问题的一种方法是使用copy()。



语法

lst = [ ‘item1’ , ‘item2’ ]
lst_copy = lst . copy()



fruits = [‘banana’, ‘orange’, ‘mango’, ‘lemon’]
fruits_copy = fruits.copy()
print(fruits_copy) # [‘banana’, ‘orange’, ‘mango’, ‘lemon’]


### 加盟名单


在 Python 中有多种方法可以连接或连接两个或多个列表。


* 加号运算符 (+)



语法

list3 = list1 + list2



positive_numbers = [1, 2, 3, 4, 5]
zero = [0]
negative_numbers = [-5,-4,-3,-2,-1]
integers = negative_numbers + zero + positive_numbers
print(integers) # [-5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5]
fruits = [‘banana’, ‘orange’, ‘mango’, ‘lemon’]
vegetables = [‘Tomato’, ‘Potato’, ‘Cabbage’, ‘Onion’, ‘Carrot’]
fruits_and_vegetables = fruits + vegetables
print(fruits_and_vegetables ) # [‘banana’, ‘orange’, ‘mango’, ‘lemon’, ‘Tomato’, ‘Potato’, ‘Cabbage’, ‘Onion’, ‘Carrot’]


* 使用extend() 方法连接extend()方法允许在列表中附加列表。请参阅下面的示例。



语法

list1 = [ ‘item1’ , ‘item2’ ]
list2 = [ ‘item3’ , ‘item4’ , ‘item5’ ]
list1.extend(list2)



num1 = [ 0 , 1 , 2 , 3 ]
num2 = [ 4 , 5 , 6 ]
num1。extend ( num2 )
print ( ‘Numbers:’ , num1 ) # Numbers: [0, 1, 2, 3, 4, 5, 6]
negative_numbers = [ - 5 , - 4 , - 3 , - 2 , - 1 ]
positive_numbers =[ 1 , 2 , 3 , 4 , 5 ]
zero = [ 0 ]

negative_numbers.extend(zero)
negative_numbers.extend(positive_numbers)
print(‘Integers:’, negative_numbers) # Integers: [-5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5]
fruits = [‘banana’, ‘orange’, ‘mango’, ‘lemon’]
vegetables = [‘Tomato’, ‘Potato’, ‘Cabbage’, ‘Onion’, ‘Carrot’]
fruits.extend(vegetables)
print(‘Fruits and vegetables:’, fruits ) # 水果蔬菜: [‘banana’, ‘orange’, ‘mango’, ‘lemon’, ‘Tomato’, ‘Potato’, ‘Cabbage’, ‘Onion’, ‘Carrot’]


### 计算列表中的项目


的计数()方法返回的项目在列表中显示的次数:



语法

lst = [ ‘item1’ , ‘item2’ ]
lst.count(item)



fruits = [‘banana’, ‘orange’, ‘mango’, ‘lemon’]
print(fruits.count(‘orange’)) # 1
ages = [22, 19, 24, 25, 26, 24, 25, 24]
print(ages.count(24)) # 3


查找项目的索引


的索引()方法返回在列表中的项目的索引:



语法

lst = [ ‘item1’ , ‘item2’ ]
lst.index(item)



Fruits = [ ‘banana’ , ‘orange’ , ‘mango’ , ‘lemon’ ]
print ( fruits . index ( ‘orange’ )) # 1
ages = [ 22 , 19 , 24 , 25 , 26 , 24 , 25 , 24 ]
print(ages.index(24)) #2,第一次出现


### 反转列表


在反向()方法将反转的列表的顺序。



语法

lst = [ ‘item1’ , ‘item2’ ]
lst.reverse()



fruits = [‘banana’, ‘orange’, ‘mango’, ‘lemon’]
fruits.reverse()
print(fruits) # [‘lemon’, ‘mango’, ‘orange’, ‘banana’]
ages = [22, 19, 24, 25, 26, 24, 25, 24]
ages.reverse()
print(ages) # [24, 25, 24, 26, 25, 24, 19, 22]


### 排序列表项


要对列表进行排序,我们可以使用sort()方法或sorted()内置函数,该排序()方法进行重新排序升序排列列表项,并修改原来的列表中,如果sort()方法的参数reverse 等于 true,它将按降序排列列表。


* sort():此方法修改原始列表



语法

lst = [ ‘item1’ , ‘item2’ ]
lst . sort () #升序
lst . sort ( reverse = True ) # 降序


**例子:**



fruits = [‘banana’, ‘orange’, ‘mango’, ‘lemon’]
fruits.sort()
print(fruits) # 按字母顺序排序, [‘banana’, ‘lemon’, ‘mango’, ‘orange’]
fruits.sort(reverse=True)
print(fruits) # [‘orange’, ‘mango’, ‘lemon’, ‘banana’]
ages = [22, 19, 24, 25, 26, 24, 25, 24]
ages.sort()
print(ages) # [19, 22, 24, 24, 24, 25, 25, 26]

ages.sort(reverse=True)
print(ages) # [26, 25, 25, 24, 24, 24, 22, 19]


* sorted():在不修改原列表的情况下返回有序列表 示例:



fruits = [‘banana’, ‘orange’, ‘mango’, ‘lemon’]
print(sorted(fruits)) # [‘banana’, ‘lemon’, ‘mango’, ‘orange’]

Reverse order

fruits = [‘banana’, ‘orange’, ‘mango’, ‘lemon’]
fruits = sorted(fruits,reverse=True)
print(fruits) # [‘orange’, ‘mango’, ‘lemon’, ‘banana’]


你很勤奋,你已经取得了很多成就。您刚刚完成了第 5 天的挑战,距离通往卓越之路还有 5 个步骤。


## 第 6 天 - 元组


元组是有序且不可更改(不可变)的不同数据类型的集合,元组用圆括号 () 书写,一旦创建了一个元组,我们就不能改变它的值。我们不能在元组中使用 add、insert、remove 方法,因为它不可修改(可变),与列表不同,元组的方法很少。  
 与元组相关的方法:


* tuple(): 创建一个空元组
* count():计算元组中指定项的个数
* index():在元组中查找指定项的索引
* 运算符:连接两个或多个元组并创建一个新元组


### 创建元组


* 空元组:创建一个空元组



语法

empty_tuple = ()

或使用元组构造函数

empty_tuple = tuple ()


* 具有初始值的元组



语法

tpl = ( ‘item1’ , ‘item2’ , ‘item3’ )



水果 =(‘香蕉’,‘橙色’,‘芒果’,‘柠檬’)


### 元组长度


我们使用len()方法来获取元组的长度。



语法

tpl = ( ‘item1’ , ‘item2’ , ‘item3’ )
len ( tpl )


### 访问元组项目


* 正索引与列表数据类型类似,我们使用正索引或负索引来访问元组项。


![在这里插入图片描述](https://img-blog.csdnimg.cn/f92106961399443f905df19edbbf8fb1.png)



语法

tpl = ( ‘item1’ , ‘item2’ , ‘item3’ )
first_item = tpl [ 0 ]
second_item = tpl [ 1 ]



水果 =(‘香蕉’,‘桔子’,‘芒果’,‘柠檬’) first_fruit = 水果[ 0 ] second_fruit = 水果[ 1 ] last_index = LEN(水果)- 1 last_fruit = 水果[ las_index ]


* 负索引 负索引表示从末尾开始,-1 表示最后一项,-2 表示倒数第二,列表/元组长度的负数表示第一项。


**元组负索引**  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/76e33b512b164b0ea4a9a72b935091ed.png)



语法

tpl = ( ‘item1’ , ‘item2’ , ‘item3’ , ‘item4’ )
first_item = tpl [ - 4 ]
second_item = tpl [ - 3 ]



水果 =(‘香蕉’,‘桔子’,‘芒果’,‘柠檬’)
first_fruit = 水果[ - 4 ]
second_fruit = 水果[ - 3 ]
last_fruit = 水果[ - 1 ]


### 切片元组


我们可以通过指定一个索引范围来切出一个子元组从哪里开始和哪里结束在元组中,返回值将是一个具有指定项的新元组。


* 正指数范围



语法

tpl = ( ‘item1’ , ‘item2’ , ‘item3’ , ‘item4’ )
all_items = tpl [ 0 : 4 ] # 所有项目
all_items = tpl [ 0 :] # 所有项目
middle_two_items = tpl [ 1 : 3 ] # 不包括索引 3 处的项目



水果 =(‘香蕉’,‘桔子’,‘芒果’,‘柠檬’)
all_fruits = 水果[ 0:4 ] #所有项目
all_fruits = 水果[ 0:] #所有项目
orange_mango = 水果[ 1:3 ] #没有按’不包括索引 3
处的 项目orange_to_the_rest = 水果[ 1 :]


* 负指数范围



语法

tpl = ( ‘item1’ , ‘item2’ , ‘item3’ , ‘item4’ )
all_items = tpl [ - 4 :] # 所有项目
middle_two_items = tpl [ - 3 : - 1 ] # 不包括索引 3 处的项目(-1)



水果 =(‘香蕉’,‘桔子’,‘芒果’,‘柠檬’)
all_fruits = 水果[ - 4:] #所有项目
orange_mango = 水果[ - 3:- 1 ] #不在索引3包括项
orange_to_the_rest = 水果[ - 3 :]


### 将元组更改为列表


我们可以将元组更改为列表,将列表更改为元组。元组是不可变的,如果我们想修改一个元组,我们应该把它改成一个列表。



语法

tpl = ( ‘item1’ , ‘item2’ , ‘item3’ , ‘item4’ )
lst = list ( tpl )



水果 =(‘香蕉’,‘橙色’,‘芒果’,‘柠檬’)
水果 = 列表(水果)
水果[ 0 ] = ‘苹果’
打印(水果) #[‘苹果’,‘橙色’,‘芒果’ , ‘lemon’]
fruits = tuple ( fruits )
print ( fruits ) #(‘apple’, ‘orange’, ‘mango’, ‘lemon’)


### 检查元组中的项目


我们可以使用in检查元组中是否存在项目,它返回一个布尔值。



语法

tpl = ( ‘item1’ , ‘item2’ , ‘item3’ , ‘item4’ )
‘item2’ in tpl # True



水果 =(“香蕉”,“桔子”,“芒果”,“柠檬”)
打印(“橙色” 在 水果)#真
打印(“苹果” 在 水果)#假
水果[ 0 ] = “苹果” #类型错误: “元组”对象不支持项目分配


### 加入元组


我们可以使用 + 运算符连接两个或多个元组



#语法
TPL1 =(‘ITEM1’ ,‘ITEM2’ ,‘项目3’ )
TPL2 =(‘ITEM4’ ,‘ITEM5’ ,‘ITEM6’ )
TPL3 = TPL1 + TPL2



Fruits = ( ‘banana’ , ‘orange’ , ‘mango’ , ‘lemon’ )
蔬菜 = ( ‘Tomato’ , ‘Potato’ , ‘Cabbage’ , ‘Onion’ , ‘Carrot’ )
fruits_and_vegetables = 水果 + 蔬菜


### 删除元组


不可能删除元组中的单个项目,但可以使用del删除元组本身。



语法

tpl1 = ( ‘item1’ , ‘item2’ , ‘item3’ )
del tpl1



水果 =(‘香蕉’,‘橙色’,‘芒果’,‘柠檬’)
德尔 水果


你真勇敢,走到这一步。您刚刚完成了第 6 天的挑战,距离通往卓越之路还有 6 个步骤。


## 第 7 天 - 集合


Set 是项目的集合,集合的数学定义也适用于 Python,而Set 是无序和无索引的不同元素的集合,在Python组用于存储唯一的项目,就可以找到工会,交集,差,对称差,子集,超集和分离集集之间。


### 创建一个集合


我们使用大括号 {} 来创建一个集合或set()内置函数。


* 创建一个空集



语法

st = {}

st = set ()


* 使用初始项创建集合



语法

st = { ‘item1’ , ‘item2’ , ‘item3’ , ‘item4’ }


**例子:**



语法

水果 = { ‘banana’ , ‘orange’ , ‘mango’ , ‘lemon’ }


### 获取 Set 的长度


我们使用len()方法来查找集合的长度。



语法

st = { ‘item1’ , ‘item2’ , ‘item3’ , ‘item4’ }
len ( set )


**例子:**



水果 = { ‘香蕉’,‘橙色’,‘芒果’,‘柠檬’ }
len(水果)


### 访问集合中的项目


我们使用循环来访问项目。我们将在循环部分看到这一点


### 检查项目


为了检查我们在成员资格运算符中使用的列表中是否存在项目。



语法

st = { ‘item1’ , ‘item2’ , ‘item3’ , ‘item4’ }
print ( “Does set st contains item3?” , ‘item3’ in st ) # set st 包含 item3 吗?真的


**例子:**



水果 = { “香蕉”,“桔子”,“芒果”,“柠檬” }
打印(“芒果” 在 水果)#真


### 将项目添加到集合


一旦创建了一个集合,我们就不能更改任何项目,我们也可以添加其他项目。


* 使用add()添加一项


### 语法


st = { ‘item1’ , ‘item2’ , ‘item3’ , ‘item4’ }  
 st . 添加(‘item5’)  
 **例子:**



水果 = { ‘香蕉’,‘橙色’,‘芒果’,‘柠檬’ }
水果。添加(‘石灰’)


* 使用添加多个项目的update() 的更新()允许多个项目添加到组。该更新()接受一个列表参数。



语法

st = { ‘item1’ , ‘item2’ , ‘item3’ , ‘item4’ }
st . 更新([ ‘item5’,‘item6’,‘item7’ ])


**例子:**



Fruits = { ‘banana’ , ‘orange’ , ‘mango’ , ‘lemon’ }
蔬菜 = ( ‘tomato’ , ‘potato’ , ‘cabbage’ , ‘onion’ , ‘carrot’ )
水果。更新(蔬菜)


### 从集合中删除项目


我们可以使用remove()方法从集合中删除一个项目,如果未找到该项目,remove()方法将引发错误,因此最好检查该项目是否存在于给定集合中。但是,discard()方法不会引发任何错误。



语法

st = { ‘item1’ , ‘item2’ , ‘item3’ , ‘item4’ }
st . 删除(‘item2’)


pop() 方法从列表中随机删除一个项目,并返回删除的项目。


**例子:**



水果 = { ‘香蕉’,‘橙色’,‘芒果’,‘柠檬’ }
水果。pop () # 从集合中随机删除一个项目


如果我们对删除的项目感兴趣。



水果 = { ‘香蕉’,‘橙色’,‘芒果’,‘柠檬’ } 已
移除_项目 = 水果。流行()


### 清除集合中的项目


如果我们想清除或清空集合,我们使用clear方法。



语法

st = { ‘item1’ , ‘item2’ , ‘item3’ , ‘item4’ }
st . 清除()


**例子:**



水果 = { ‘香蕉’,‘橙色’,‘芒果’,‘柠檬’ }
水果。清除()
打印(水果)#设置()


### 删除集合


如果我们想删除集合本身,我们使用del运算符。



语法

st = { ‘item1’ , ‘item2’ , ‘item3’ , ‘item4’ }
del st


**例子:**



水果 = { “香蕉”,“桔子”,“芒果”,“柠檬” }
德尔 水果


### 将列表转换为集合


我们可以将 list 转换为 set 并将 set 转换为 list,将列表转换为 set 会删除重复项,并且只会保留唯一项。



语法

lst = [ ‘item1’ , ‘item2’ , ‘item3’ , ‘item4’ , ‘item1’ ]
st = set ( lst ) # {‘item2’, ‘item4’, ‘item1’, ‘item3’} -顺序是随机的,因为集合通常是无序的


**例子:**



水果 = [ ‘香蕉’ , ‘橙色’ , ‘芒果’ , ‘柠檬’ , ‘橙色’ , ‘香蕉’ ]
水果 = 设置(水果) # {‘芒果’, ‘柠檬’, ‘香蕉’, ‘橙色’ }


### 连接集


我们可以使用union()或update()方法连接两个集合。


* Union 这个方法返回一个新的集合



语法

st1 = { ‘item1’ , ‘item2’ , ‘item3’ , ‘item4’ }
st2 = { ‘item5’ , ‘item6’ , ‘item7’ , ‘item8’ }
st3 = st1 . 联合(st2)


**例子:**



水果 = { ‘香蕉’,‘橙色’,‘芒果’,‘柠檬’ }
蔬菜 = { ‘番茄’,‘马铃薯’,‘卷心菜’,‘洋葱’,‘胡萝卜’ }
打印(水果。联合(蔬菜) ) # {‘lemon’, ‘carrot’, ‘tomato’, ‘banana’, ‘mango’, ‘orange’, ‘cabbage’, ‘potato’, ‘onion’}


* 更新此方法将一个集合插入给定的集合



语法

st1 = { ‘item1’ , ‘item2’ , ‘item3’ , ‘item4’ }
st2 = { ‘item5’ , ‘item6’ , ‘item7’ , ‘item8’ }
st1 . update ( st2 ) # st2 内容添加到 st1


**例子:**



水果 = { ‘香蕉’ , ‘橙色’ , ‘芒果’ , ‘柠檬’ }
蔬菜 = { ‘番茄’ , ‘马铃薯’ , ‘卷心菜’ , ‘洋葱’ , ‘胡萝卜’ }
水果。更新(蔬菜)
打印(水果)# {‘lemon’, ‘carrot’, ‘tomato’, ‘banana’, ‘mango’, ‘orange’, ‘cabbage’, ‘potato’, ‘onion’}


### 查找交叉项


交集返回两个集合中的一组项目。看例子



语法

st1 = { ‘item1’ , ‘item2’ , ‘item3’ , ‘item4’ }
st2 = { ‘item3’ , ‘item2’ }
st1 . 交集( st2 ) # {‘item3’, ‘item2’}


**例子:**



Whole_numbers = { 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 }
even_numbers = { 0 , 2 , 4 , 6 , 8 , 10 }
whole_numbers。交集( even_numbers ) # {0, 2, 4, 6, 8, 10}

python = { ‘p’ , ‘y’ , ‘t’ , ‘h’ , ‘o’ , ‘n’ }
龙 = { ‘d’ , ‘r’ , ‘a’ , ‘g’ , ‘o’ , ‘n’ }
蟒蛇。交叉点(龙) #{‘o’, ‘n’}


### 检查子集和超集


一个集合可以是其他集合的子集或超集:


* 子集:issubset()
* 超级集:issuperset



语法

st1 = { ‘item1’ , ‘item2’ , ‘item3’ , ‘item4’ }
st2 = { ‘item2’ , ‘item3’ }
st2 . issubset ( st1 ) #真
st1。issuperset ( st2 ) # 真


**例子:**



Whole_numbers = { 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 }
even_numbers = { 0 , 2 , 4 , 6 , 8 , 10 }
whole_numbers。issubset ( even_numbers ) # False,因为它是一个超集
whole_numbers。issuperset (even_numbers ) # 真

python = { ‘p’ , ‘y’ , ‘t’ , ‘h’ , ‘o’ , ‘n’ }
龙 = { ‘d’ , ‘r’ , ‘a’ , ‘g’ , ‘o’ , ‘n’ }
蟒蛇。issubset ( dragon ) # False


### 检查两组之间的差异


它返回两组之间的差异。



语法

st1 = { ‘item1’ , ‘item2’ , ‘item3’ , ‘item4’ }
st2 = { ‘item2’ , ‘item3’ }
st2 . 差(ST1)#集()
ST1。差异( st2 ) # {‘item1’, ‘item4’} => st1\st2


**例子:**



Whole_numbers = { 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 }
even_numbers = { 0 , 2 , 4 , 6 , 8 , 10 }
whole_numbers。差异( even_numbers ) # {1, 3, 5, 7, 9}

python = { ‘p’ , ‘y’ , ‘t’ , ‘o’ , ‘n’ }
龙 = { ‘d’ , ‘r’ , ‘a’ , ‘g’ , ‘o’ , ‘n’ }
蟒蛇。差异( dragon ) # {‘p’, ‘y’, ‘t’} - 结果是无序的(集合的特征)
dragon。差异( python ) # {‘d’, ‘r’, ‘a’, ‘g’}


### 寻找两个集合之间的对称差异


它返回两个集合之间的对称差异,这意味着它返回一个包含两个集合中所有项目的集合,除了两个集合中都存在的项目,数学上: (A\B) ∪ (B\A)



语法

st1 = { ‘item1’ , ‘item2’ , ‘item3’ , ‘item4’ }
st2 = { ‘item2’ , ‘item3’ }

意思是 (A\B)∪(B\A)

st2 . symmetric_difference(ST1)#{ ‘ITEM1’, ‘ITEM4’}


**例子:**



Whole_numbers = { 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 }
some_numbers = { 1 , 2 , 3 , 4 , 5 }
whole_numbers。symmetric_difference(some_numbers)#{0,6,7,8,9,10}

python = { ‘p’ , ‘y’ , ‘t’ , ‘h’ , ‘o’ , ‘n’ }
龙 = { ‘d’ , ‘r’ , ‘a’ , ‘g’ , ‘o’ , ‘n’ }
蟒蛇。symmetry_difference ( dragon ) # {‘r’, ‘t’, ‘p’, ‘y’, ‘g’, ‘a’, ‘d’, ‘h’}


### 连接集


如果两个集合没有一个或多个公共项,我们称它们为不相交的集合。我们可以使用isdisjoint()方法检查两个集合是联合还是不相交。



语法

st1 = { ‘item1’ , ‘item2’ , ‘item3’ , ‘item4’ }
st2 = { ‘item2’ , ‘item3’ }
st2 . isdisjoint ( st1 ) # 假


**例子:**



even_numbers = { 0 , 2 , 4 , 6 , 8 }
even_numbers = { 1 , 3 , 5 , 7 , 9 }
even_numbers . isdisjoint ( odd_numbers ) # 真,因为没有共同项

python = { ‘p’ , ‘y’ , ‘t’ , ‘h’ , ‘o’ , ‘n’ }
龙 = { ‘d’ , ‘r’ , ‘a’ , ‘g’ , ‘o’ , ‘n’ }
蟒蛇。isdisjoint ( dragon ) # False,有共同项{‘o’, ‘n’}


你是一颗冉冉升起的新星。您刚刚完成了第 7 天的挑战,您在通往伟大的道路上领先了 7 步。


## 第 8 天 - 字典


字典是无序、可修改(可变)成对(键:值)数据类型的集合。


### 创建字典


要创建字典,我们使用大括号 {} 或dict()内置函数。



语法

empty_dict = {}

包含数据值的字典

dct = { ‘key1’ : ‘value1’ , ‘key2’ : ‘value2’ , ‘key3’ : ‘value3’ , ‘key4’ : ‘value4’ }


**例子:**



person = {
‘first_name’ : ‘Asabeneh’ ,
‘last_name’ : ‘Yetayeh’ ,
‘age’ : 250 ,
‘country’ : ‘Finland’ ,
‘is_marred’ : True ,
‘skills’ :[ ‘JavaScript’ , 'React ’ , ‘Node’ , ‘MongoDB’ , ‘Python’ ],
‘address’ :{
‘street’ : ‘Space street’ ,
“邮政编码”:“02210”
}
}


上面的字典显示一个值可以是任何数据类型:字符串、布尔值、列表、元组、集合或字典。


### 字典长度


它检查字典中“键:值”对的数量。



语法

dct = { ‘key1’ : ‘value1’ , ‘key2’ : ‘value2’ , ‘key3’ : ‘value3’ , ‘key4’ : ‘value4’ }
print ( len ( dct )) # 4


**例子:**



person = {
‘first_name’ : ‘Asabeneh’ ,
‘last_name’ : ‘Yetayeh’ ,
‘age’ : 250 ,
‘country’ : ‘Finland’ ,
‘is_marred’ : True ,
‘skills’ :[ ‘JavaScript’ , 'React ’ , ‘Node’ , ‘MongoDB’ , ‘Python’ ],
‘address’ :{
‘street’ : ‘Space street’ ,
“邮政编码”:“02210”
}
}
打印(len(人))#7


### 访问字典项目


我们可以通过引用它的键名来访问字典项。



语法

dct = { ‘key1’ : ‘value1’ , ‘key2’ : ‘value2’ , ‘key3’ : ‘value3’ , ‘key4’ : ‘value4’ }
print ( dct [ ‘key1’ ]) # value1
打印( dct [ ‘key4’ ]) # value4


**例子:**



person = {
‘first_name’ : ‘Asabeneh’ ,
‘last_name’ : ‘Yetayeh’ ,
‘age’ : 250 ,
‘country’ : ‘Finland’ ,
‘is_marred’ : True ,
‘skills’ :[ ‘JavaScript’ , ‘React ’ , ‘Node’ , ‘MongoDB’ , ‘Python’ ],
‘address’ :{
‘street’ : ‘Space street’ ,
“邮政编码”:“02210”
}
}
print ( person [ ‘first_name’ ]) # Asabeneh
print ( person [ ‘country’ ]) # Finland
print ( person [ ‘skills’ ]) # [‘JavaScript’, ‘React’, ‘Node’, ‘MongoDB’, ’ Python’]
print ( person [ ‘skills’ ][ 0 ]) # JavaScript
print ( person [ ‘address’ ][ ‘street’]) # 太空街
打印( person [ ‘city’ ]) # 错误


如果键不存在,按键名访问项目会引发错误,为了避免这个错误,首先我们必须检查一个键是否存在,或者我们可以使用get方法,如果键不存在,get 方法返回 None,这是一个 NoneType 对象数据类型。



person = {
‘first_name’ : ‘Asabeneh’ ,
‘last_name’ : ‘Yetayeh’ ,
‘age’ : 250 ,
‘country’ : ‘Finland’ ,
‘is_marred’ : True ,
‘skills’ :[ ‘JavaScript’ , 'React ’ , ‘Node’ , ‘MongoDB’ , ‘Python’ ],
‘address’ :{
‘street’ : ‘Space street’ ,
“邮政编码”:“02210”
}
}
打印(人,得到(‘FIRST_NAME’ ))#Asabeneh
打印(人。获得(‘国家’)) #芬兰
印刷(人。获得(‘技能’))#[ ‘HTML’, ‘CSS’, ‘JavaScript的’ , ‘阵营’, ‘节点’, ‘MongoDB的’, ‘Python的’]
打印(人。获得(‘城市’)) #无


### 将项目添加到字典


我们可以向字典中添加新的键值对



语法

dct = { ‘key1’ : ‘value1’ , ‘key2’ : ‘value2’ , ‘key3’ : ‘value3’ , ‘key4’ : ‘value4’ }
dct [ ‘key5’ ] = ‘value5’


**例子:**



person = {
‘first_name’ : ‘Asabeneh’ ,
‘last_name’ : ‘Yetayeh’ ,
‘age’ : 250 ,
‘country’ : ‘Finland’ ,
‘is_marred’ : True ,
‘skills’ :[ ‘JavaScript’ , 'React ’ , ‘Node’ , ‘MongoDB’ , ‘Python’ ],
‘address’ :{
‘street’ : ‘Space street’ ,
“邮政编码”:“02210”
}
}
人[ ‘job_title’ ] = ‘讲师’
人[ ‘技能’ ]。追加(‘HTML’)
打印(人)


### 修改字典中的项目


我们可以修改字典中的项目



语法

dct = { ‘key1’ : ‘value1’ , ‘key2’ : ‘value2’ , ‘key3’ : ‘value3’ , ‘key4’ : ‘value4’ }
dct [ ‘key1’ ] = ‘value-one’


**例子:**



person = {
‘first_name’ : ‘Asabeneh’ ,
‘last_name’ : ‘Yetayeh’ ,
‘age’ : 250 ,
‘country’ : ‘Finland’ ,
‘is_marred’ : True ,
‘skills’ :[ ‘JavaScript’ , 'React ’ , ‘Node’ , ‘MongoDB’ , ‘Python’ ],
‘address’ :{
‘street’ : ‘Space street’ ,
“邮政编码”:“02210”
}
}
人[ ‘first_name’ ] = ‘Eyob’
人[ ‘年龄’ ] = 252


### 检查字典中的键


我们使用in运算符来检查字典中是否存在键



语法

dct = { ‘key1’ : ‘value1’ , ‘key2’ : ‘value2’ , ‘key3’ : ‘value3’ , ‘key4’ : ‘value4’ }
print ( ‘key2’ in dct ) # True
print ( ’ KEY5’ 在 DCT)#假


### 从字典中删除键和值对


* pop(key):删除具有指定键名的项目
* popitem() : 删除最后一项
* del : 删除具有指定键名的项目



语法

dct = { ‘key1’ : ‘value1’ , ‘key2’ : ‘value2’ , ‘key3’ : ‘value3’ , ‘key4’ : ‘value4’ }
dct . pop ( ‘key1’ ) # 删除 key1 项
dct = { ‘key1’ : ‘value1’ , ‘key2’ : ‘value2’ , ‘key3’ : ‘value3’ , ‘key4’ : ‘value4’ }
DCT。弹出项()# 删除最后一项
del dct [ ‘key2’ ] # 删除 key2 项


**例子:**



person = {
‘first_name’ : ‘Asabeneh’ ,
‘last_name’ : ‘Yetayeh’ ,
‘age’ : 250 ,
‘country’ : ‘Finland’ ,
‘is_marred’ : True ,
‘skills’ :[ ‘JavaScript’ , 'React ’ , ‘Node’ , ‘MongoDB’ , ‘Python’ ],
‘address’ :{
‘street’ : ‘Space street’ ,
“邮政编码”:“02210”
}
}
人。pop ( ‘first_name’ ) # 删除名字项
person。popitem () # 移除地址项
del person [ ‘is_married’ ] # 移除 is_married 项


### 将字典更改为项目列表


该项目()方法的改变字典元组的列表。



#语法
DCT = { ‘KEY1’ :‘VALUE1’ ,‘KEY2’ :‘值’,‘KEY3’ :‘值3’ ,‘KEY4’ :‘VALUE4’ }
打印(DCT。项目())#dict_items([( ‘key1’, ‘value1’), (‘key2’, ‘value2’), (‘key3’, ‘value3’), (‘key4’, ‘value4’)])


### 清除字典


如果我们不想要字典中的项目,我们可以使用clear()方法清除它们



#语法
DCT = { ‘KEY1’ :‘VALUE1’ ,‘KEY2’ :‘值’,‘KEY3’ :‘值3’ ,‘KEY4’ :‘VALUE4’ }
打印(DCT。清晰()) #无


### 删除字典


如果我们不使用字典,我们可以完全删除它



语法

dct = { ‘key1’ : ‘value1’ , ‘key2’ : ‘value2’ , ‘key3’ : ‘value3’ , ‘key4’ : ‘value4’ }
del dct


### 复制字典


我们可以使用copy()方法复制字典。使用复制我们可以避免原始字典的变异。



语法

dct = { ‘key1’ : ‘value1’ , ‘key2’ : ‘value2’ , ‘key3’ : ‘value3’ , ‘key4’ : ‘value4’ }
dct_copy = dct . copy () # {‘key1’:‘value1’, ‘key2’:‘value2’, ‘key3’:‘value3’, ‘key4’:‘value4’}


### 获取字典键作为列表


该键()方法为我们提供了AA字典作为一个列表的所有键。



语法

dct = { ‘key1’ : ‘value1’ , ‘key2’ : ‘value2’ , ‘key3’ : ‘value3’ , ‘key4’ : ‘value4’ }
keys = dct . 键()
打印(键) # dict_keys([‘key1’, ‘key2’, ‘key3’, ‘key4’])


### 获取字典值作为列表


该值的方法为我们提供了AA字典作为一个列表的所有值。



语法

dct = { ‘key1’ : ‘value1’ , ‘key2’ : ‘value2’ , ‘key3’ : ‘value3’ , ‘key4’ : ‘value4’ }
values = dct . values ()
打印( values ) # dict_values([‘value1’, ‘value2’, ‘value3’, ‘value4’])


你是惊人的。现在,您对字典的强大功能感到非常兴奋。您刚刚完成了第 8 天的挑战,距离通往卓越之路还有 8 步。


## 第 9 天 - 条件语句


默认情况下,Python 脚本中的语句从上到下依次执行。如果处理逻辑需要,可以通过两种方式改变执行的顺序流程:


* 条件执行:如果某个表达式为真,将执行一个或多个语句块
* 重复执行:只要某个表达式为真,一个或多个语句块就会被重复执行。在本节中,我们将介绍if、else、elif语句。我们在前几节中学到的比较和逻辑运算符在这里会很有用。


### 如果条件


在 python 和其他编程语言中,关键字if用于检查条件是否为真并执行块代码。记住冒号后的缩进。



#语法
,如果 条件:
这 部分 的 代码 运行 的 truthy 条件


**示例:1**



a = 3
if a > 0 :
print ( ‘A is a positive number’ )

A 是正数


正如你在上面的例子中看到的,3 大于 0,条件为真,块代码被执行,但是,如果条件为假,我们将看不到结果。为了查看虚假条件的结果,我们应该有另一个块,即else。


### 如果条件为真


如果条件为真,将执行第一个块,否则将运行 else 条件。



#语法
,如果 条件:
这 部分 的 代码 运行 的 truthy 条件
还有:
这 部分 的 代码 运行 的 虚假 条件


**例子:**



a = 3
如果 a < 0 :
打印( ‘A 是负数’ )
否则:
打印( ‘A 是正数’ )


上面的条件证明为假,因此执行了 else 块。如果我们的条件超过两个呢?我们可以使用 \_ elif\_。


### 如果Elif Else


在日常生活中,我们每天都在做决定。我们不是通过检查一两个条件而是通过多个条件来做出决定,和生活一样,编程也是充满条件的。当我们有多个条件时,我们使用elif。



语法

if 条件:
代码
elif 条件:
代码
else:
代码


**例子:**



a = 0
if a > 0 :
print ( ‘A is a positive number’ )
elif a < 0 :
print ( ‘A is a negative number’ )

最后

Python崛起并且风靡,因为优点多、应用领域广、被大牛们认可。学习 Python 门槛很低,但它的晋级路线很多,通过它你能进入机器学习、数据挖掘、大数据,CS等更加高级的领域。Python可以做网络应用,可以做科学计算,数据分析,可以做网络爬虫,可以做机器学习、自然语言处理、可以写游戏、可以做桌面应用…Python可以做的很多,你需要学好基础,再选择明确的方向。这里给大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

👉Python所有方向的学习路线👈

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

👉Python必备开发工具👈

工欲善其事必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。

👉Python全套学习视频👈

我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。

👉实战案例👈

学python就与学数学一样,是不能只看书不做题的,直接看步骤和答案会让人误以为自己全都掌握了,但是碰到生题的时候还是会一筹莫展。

因此在学习python的过程中一定要记得多动手写代码,教程只需要看一两遍即可。

👉大厂面试真题👈

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

### 回答1: 作为python初学者,你可以通过查阅python文档和指南来先了解python,然后可以尝试在线课程、挑战题或者教程,不断提高你的python技能,最后,你还可以在实际应用中练习,学习如何开发程序,并解决实际问题。 ### 回答2: 作为Python初学者学习这门编程语言,你可以考虑以下几个方面: 1. 选择合适的学习资源:可以从书籍、在线教程、视频教程等不同渠道学习Python。其中,一些经典的入门教材如《Python编程导论》、《Python核心编程》等可以帮助初学者建立起正确的编程思维和基础知识。 2. 系统学习基础知识:理解Python语言的基础语法和常用的数据类型、数据结构、控制流程等知识是学习的基石。可以通过编写简单的程序来巩固和实践所学的内容。 3. 实践编程项目:在学习的过程中,尝试完成一些简单的编程项目可以帮助你将理论知识应用到实践中,并提高解决问题的能力。可以选择一些小型的项目,如编写一个简单的计算器程序、爬取网页数据等。 4. 参与社区和论坛:加入Python学习社区和论坛,与其他学习者交流经验,向经验丰富的人寻求帮助,提问并回答问题,可以进一步加深对Python的理解和掌握。 5. 阅读源代码和文档:Python有着丰富的第三方库和开源项目。通过阅读源代码和官方文档,可以学习到更高级的编程技巧和实践经验。 6. 持续练习和实践:学习编程需要不断地练习和实践。通过坚持不懈地编写代码,解决实际问题,探索更多有趣的应用场景,可以深入理解Python的应用和功能。 总之,对于Python初学者来说,学习的过程需要耐心和持续的努力。通过选择合适的学习资源,系统学习基础知识,实践编程项目,参与社区和论坛,阅读源代码和文档,并持续练习和实践,你可以逐渐掌握Python的基本技能,并进一步提升自己的编程水平。 ### 回答3: 作为Python初学者,以下是一些建议以帮助你学习编程语言。 1. 理解基本概念:首先,你需要了解Python语言的基本概念和语法规则。可以通过阅读相关的教程和文档来掌握这些基础知识。 2. 学习案例和示例:在学习过程中,尝试编写一些简单的代码案例和示例,以加深对Python语法和逻辑的理解。可以在网上搜索一些合适的例子来练习。 3. 使用学习资源:存在很多免费的学习资源,例如在线教程、视频教程、编程网站等。你可以利用这些资源来学习Python的各个方面。 4. 练习编程:理论知识只是学习的一部分,将学到的知识应用于实践是非常重要的。尝试解决一些编程问题或者挑战,这将帮助你强化并巩固所学的内容。 5. 参加社区活动:寻找Python的社区活动,例如用户群、线上讨论等。与其他初学者和有经验的开发者交流,分享经验和问问题,这将有助于你更快地成长。 6. 阅读源代码:找一些开源项目的源代码,学习他们是如何组织、编写和优化代码。这将帮助你提升自己的编程技巧和思维方式。 7. 持续学习Python是一个非常广泛的编程语言,在学习的过程中难免会遇到一些难题。不过不要气馁,保持学习的动力,不断提升自己的技能。 总之,学习Python需要时间和耐心。通过不断练习和实践,你会逐渐掌握这门编程语言,并转变为更具经验的Python开发者。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值