美文网首页
python 10天快速教程 Day2

python 10天快速教程 Day2

作者: XaviSong | 来源:发表于2020-07-16 19:36 被阅读0次

本节重点

  1. 元组
  2. 字典
  3. 集合
  4. 循环
  5. 循环遍历容器
  6. 简单拆容器

一、元组

定义:

  • 元组:以小括号形式的数据集合,可存储任意数据类型
  • 元组可以用下标获取数据,但是不可以对元组进行数据修改

类型为 class<tuple>

my_tuple=(1,4,"abd",True,1.2)
value = my_tuple[-1]
print(value)
'''
1.2
'''

元组的操作与特点

1、不可以直接删除、修改
# 不可以删除、修改
# del my_tuple[2]
# my_tuple[0] = 3

# 硬修改,存在列表元素时利用内存地址
tuple1 = (1,[3,4])
my_list = tuple1[1]
my_list[0] = 4
print(tuple1)
'''
(1,[4,4])
'''
2、定义空元祖和含有一个元素的元组
#定义一个空元组
my_tuple = ()
print(my_tuple,type(my_tuple))

#定义含有一个元素的元组,加逗号
my_tuple = (1,)

# 不加逗号会变成int类型
my_tuple = (1) # 相当于my_tuple = 1
3、in方法
my_tuple=(10,5,10,2)
result=5 in my_tuple
print(result)
'''
True
'''
4、index方法,参数不在元组中的话,会报错
result = my_tuple.index(10)
print(result)
5、count方法,不在元组中元素返回0
result = my_tuple.count(8)
print(result)

二、字典

定义:

字典:以大括号形式的键值对数据组合,{"name":syp},这算一个元素key一般设为字符串类型。

字典的操作与特性

1、通过key取值

字典是无序的,没有下标概念,不能通过下标取值。通过key取value,key不存在的时候,报错KeyError。

mydict={"name":"syp","age":18}
value=mydict["name"]
2、通过get方式取值

get方式取key值,不存在时返回None,也可以设置默认值,但是不会修改字典本身

mydict={"name":"syp","age":18}
value=mydict["name"]
result=mydict.get("sex","男")#可以添加虚假的字段爬取结果
print(result)
print(mydict)
'''
男
{'name': 'syp', 'age': 18}
'''
3、利用key增加或更新元素

给字典增加键值对,直接用新添加元素的key进行赋值。key如果重复会更新value(修改),key是唯一的

mydict={"name":"syp","age":18}
mydict["wage"]="10000"
mydict["address"]="北京"
print(mydict)
mydict["wage"]="15000"
print(mydict)
'''
{'name': 'syp', 'age': 18, 'wage': '10000', 'address': '北京'}
{'name': 'syp', 'age': 18, 'wage': '15000', 'address': '北京'}
'''
4、删除元素popitem、pop、del
del mydict["wage"]#删除这一个键值对
print(mydict.popitem()) # 删除最后一个元素,并返回该元素
value = mydict.pop("age") # 删除指定元素,参数为key
print(mydict)
del mydict # 删除整个字典
'''
('address', '北京')
{'name': 'syp'}
'''
5、获取字典所有的keys、values
print(mydict.values())
print(mydict.keys())
'''
dict_values(['syp', 18, '10000', '北京'])
dict_keys(['name', 'age', 'wage', 'address'])
'''
6、in方法
# 注意:该方法只能判断key是否在dict中
result = "age" in mydict

三、集合

定义:

以大括号形式集合的数据,数据不可以重复。集合不能根据下标获取数据,可以通过方法添加或删除。

集合的操作与特性

1、定义空集合
my_set = set() #不能直接使用{},变空字典
my_set = {1,1,1,12,"aaa",1.2}
'''
{1, 2, 'aaa', 1.2}
'''
2、remove,discard删除
# remove删除
my_set.remove(1) #删除指定数据,集合中没有目标直接报错
# discard删除
my_set.discard(22222) #删除没有的数据不会崩溃
3、add添加元素
#不可以添加重复数据
my_set.add(5)
my_set.add(5) # 不会报错,但不会多一个5
4、集合不支持下标
print(my_set[2])
# 报错如下
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
 in 
     20 
     21 # my_set[0] = 1998 # 集合也是无序的,没有下标概念
---> 22 print(my_set[2])
     23 # 集合转换列表与元组,容器相互转换
     24 # tuple(),list()

TypeError: 'set' object does not support indexing
5、集合与元组和列表相互转换
# tuple(),list()
set_tuple = tuple(my_set)
set_list = list(my_set)
print(set_tuple)
print(set_list)
'''
(1.2, 2, 5, 'aaa')
[1.2, 2, 5, 'aaa']
'''

四、循环相关

1、while循环
while condition:
    process
    pass
2、for循环

一般结合range()函数使用。range()函数接受三个参数,range(起始数据,结束数据,步长),左闭右开,步长,默认起始数据为0,步长默认为1,可以指定,结束数据必写。

# 只写一个结束数据,遵守左闭右开,打印0,1,2,3,4
for i in range(5):
    print(i)
# 步长为3,跳跃打印:0,3
for i in range(0,6,3):
    print(i)
# 倒过来打印:6,5,4,3,2,1
for i in range(6,0,-1):
    print(i)
3、break与continue

以下两个关键字必须结合循环使用。

  • break: 跳出最内层循环
  • continue:结束本次循环,开始下一次循环

循环结束后可以和else语句连用,正常退出循环会继续执行else,如果break出来就不执行else内容,continue会继续执行else。

# break与continue区别
for i in range(5):
    if i == 2:
        break
    print(i)
else:
    print("循环完成,break后不执行此句")
'''
0
1
'''

for i in range(5):
    if i == 2:
        continue
    print(i)
else:
    print("循环完成,break后不执行此句")
'''
0
1
3
4
循环完成,break后不执行此句
'''

五、循环遍历容器

1、列表
# 直接遍历
mylist = ["皇马","巴萨"]
for value in mylist:
    print(value)
    
# 带标号遍历,value为元组类型
for value in enumerate(mylist):
    print(value, type(value))
'''
(0, '苹果') <class 'tuple'>
(1, '草莓') <class 'tuple'>
'''
2、元组
for value in enumerate((1,5,4)):
    print(value)
'''
(0,1)
(1,5)
(2,4)
'''
3、字典
mydict = {"name":"syp","age":18}
# 默认遍历的是key
for key in mydict:
    print(key)
    
# 遍历value
for value in mydict.values():
    print(value)
    
# 遍历键值对
for key, value in mydict.items():
    print(key,value)
4、集合
my_set = {"皇马","巴萨"}
for value in my_set:
    print(value)

六、简单从容器中拆出元素

数据量小的时候,用变量来承接容器每个元素。

mystr = "abs" # 拆字符串
a,b,s = mystr

mylist = [1,2] # 拆列表与元组形式
num1,num2 = mylist

mydict = {"name":"syp","age":18}.values() # 默认key,想拆values加values(),想拆键值对加items(),返回元组
a,b = mydict
'''
syp
18
'''

myset = {3,5} # 拆集合
num1, num2 = myset

上一篇:python 10天快速教程 Day1
下一篇:python 10天快速教程 Day3

相关文章

  • Python 快速教程(网络)

    注:采转归档,自己学习查询使用 Python 快速教程(网络01):原始Python服务器Python 快速教程(...

  • Python 文档手册

    Python 官方文档 Vamei老师-Python快速教程 廖雪峰老师-Python教程 笨办法学Python ...

  • Python 快速教程(Django)

    注:采转归档,自己学习查询使用 Python 快速教程(Django01):初试天涯Python 快速教程(Dja...

  • 首次简书日记_Python资料相关

    Vamei的Python快速教程 廖雪峰的入门教程 简明 Python 教程 实验楼Python学习路径: 系统的...

  • Python 快速教程(进阶篇)

    注:采转归档,自己学习查询使用 Python 快速教程(进阶篇01): 词典Python 快速教程(进阶篇02):...

  • Python 快速教程(深入篇)

    注:采转归档,自己学习查询使用 Python 快速教程(深入篇01):特殊方法与多范式Python 快速教程(深入...

  • 初级知识0

    1. Python Python 教程 Python笔记(jupyter) 快速学会python 2.Matplo...

  • Python 快速教程(标准库)

    注:采转归档,自己学习查询使用 Python 快速教程(标准库):走马观花Python 快速教程(标准库):学习准...

  • Python 快速教程(基础篇)

    注:采转归档,自己学习查询使用 Python 快速教程(基础篇01):Hello WorldPython 快速教程...

  • Python 快速教程(补充篇)

    注:采转归档,自己学习查询使用 Python 快速教程(补充篇01): Python的序列的方法Python 快速...

网友评论

      本文标题:python 10天快速教程 Day2

      本文链接:https://www.haomeiwen.com/subject/zsymhktx.html