开发者学堂课程【Python入门 2020年版:公共方法总结】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/639/detail/10324
公共方法总结
算数运算符
这两天的思维导图,Day06-列表,Day07-元组、字典、集合属于比较常见的可迭代对象,可以所属多个对象,可以归为一类来使用,其间有很多相似点,要善于总结。
例如一些算数运算符是可以共同使用的,
运算符 |
Python表达式 |
结果 |
描述 |
支持的数据类型 |
|
[1,2]+[3,4] |
[1,2,3,4] |
合并 |
字符串、列表、元组 |
- |
{1,2,3,4]- {2,3} |
{1,4} |
集合求差集 |
集合 |
* |
['Hil]* 4 |
['Hil', 'Hil', 'Hil','Hi!'"] |
复制 |
字符串、列表、元组 |
in |
3 in (1,2,3) |
True |
元素是否存在 |
字符串、列表、元组、字典 |
not in |
4 not in (1,2,3) |
True |
元素是否不存在 |
字符串、列表、元组、字典 |
2.加法运算符
(1)+:加法运算符可以用于字符串、列表和元组,用来拼接多个可迭代对象,不能用于字典和集合(思考:为什么字典和集合不能使用)。
公共方法:
在New Python file 中输入07-公共方法,根据笔记整理思维导图,
点击Close Others
#+:可以用来拼接,用于字符串、元组、列表
print( " hello' + 'wor1d ')
print(( 'good' , 'yes ') +( 'hi ' , 'ok ' ))
print([1,2,3] +[4,5,6])
(2)#-:只能用户集合,求差集
‘hello’-‘yes’
不可以
只可以用
Print({1
,2,3-{3})
(3)#*:可以用于字符串元组列表,表示重复多次。不能用于字典和集合
print( " hello'* 3)
表示hello会出现三次
print([1
,2,3] * 3)
表示将里边元素重复三次
print(
(1,2,3])* 3)
同样表示将里面元素重复三次
为什么不能用于字典和集合,因为唯一,不能重复,假如字典能够重复,重复的K将会被覆盖,集合也是去重的,所以不可以重复。
(4)# in:成员运算符
print( 'a' in 'abc ' )
print(1 in [1
,2,3])
print(4 in (6
,4,5))
#in用于字典是用来判断key是否存在,而不是value.
print( ' zhangsan' in{ 'name': 'zhangsan ' , 'age': 18
,'height ': '180cm'}
)此运行结果是False,其他运行结果都是true
print( ' name' in{ 'name': 'zhangsan ' , 'age': 18
,'height ': '180cm'})
print(3 in{3
,4,5})
3.遍历
(1)字符串遍历
>>> a_str = "hello world">>> for char in a_str:
… print(char ,end='")
…
h e l l o w o r l d
(2)列表遍历
>>> a_list = [1
,2,3,4,5]
>>> for num in a_list:
… print(num,end=’ ‘)
….
1 2 3 4 5
(3)元组遍历
>>> a_turple = (1
,2,3,4,5)
>>> for num in a_turple:
print(num,end=” ")
1 2 3 4 5
(4)#带下标的遍历
①可迭代对象都可以使用 enumerate 内置类进行包装成一个 enumerate 对象。对enumerate 进行遍历,可以同时得到一个可迭代对象的下标和元素。
nums = [12,9
,8, 5, 4,7,3,6]
#将列表nums包装成enumerate对象
for i, num in enumerate(nums): #
i表示元素下标,num表示列表里的元素
print
('第%d个元素是%d’% (i, num) )
②nums=[19,82,39,12,34,58]
#带下标的遍历
For
× in enumeragte(nums):
Pass
Enumeragte
是一个内置的类,作用:enumerate is useful obtaining an indexed list
(返回来的是一个下置的列表)
③nums=[19,82,39,12,34,58]
#带下标的遍历
X=enumeragte(nums):
Print(x)
运行结果:<enumerate object at 0x0000023E111869F8>
nums=[19,82,39,12,34,58]
④#带下标的遍历
en=enumeragte(nums):
for e in en:
print
(‘第%d个数据是%d’%*(i,e))
运行结果:第0个数据是19
第1个数据是82
…
简化一下en=enumeragte(nums)为enumeragte(nums)
⑤元组
#nums=[19,82,39,12,34,58]
nums=
(19,82,39,12,34,58)
#带下标的遍历
for i,e in enumerate(nums)
print
(‘第%d个数据是%d’%*(i,e))
运行结果跟上述一样
⑥集合
#nums=[19,82,39,12,34,58]
#nums=
(19,82,39,12,34,58)
Nums{19,82,39,12,34,58}
#带下标的遍历
for i,e in enumerate(nums)
print
(‘第%d个数据是%d’%*(i,e))
结果跟上述一样,小问题是产生的结果是无序的,因为集合是无序的。
⑦字典
person = { ' name' : 'zhangsan', 'age': 18
,'height ' : '180cm '}
for i, k in enumerate(person) :
print(i
,k)
#带下标的遍历 enumerate 类的使用,一般用户列表和元组等有效的数据