1.6小白学python入门基础-----元祖,字典,集合

今日课程内容

  一,元祖

  二、字典

  三、集合

  一、元祖

  

  

1.1元祖的定义: 元祖使用()元素用逗号隔开的一系列元素。 #ti=(1,0) #t3=tuple((1,2)) #t4=()#空元素 #t5=(1,)#一个元素

  

1.2元祖的特性:
	1.有序存储,可以存储多个数据
	2.不可变(注意:内部可以包含对象,可变对象依旧可变)

  

   

1.3元祖的常用操作:
	1.因为有序存储所以可以通过索引取值
        2.切片
        3.len(item元素的个数)

  

1.4内置方法:
	#print(t.count)#表示该数据集合可以存放多个相同数据并计算
	#print(t.index)#表示通过元祖元素取到想应的下标

  

1.5应用场景:
	#将不允许操作的元列表转化为元祖;
	#将允许操作的元祖转化为列表

  二、字典

字典的定义:

    字典
#特别理解:dict是python中仅存的mapping类型
#2.1定义:用{}表示字典每个key和value用“:”和逗号分开
#2.2特性:1,dcitde Key可以为所有不可变类型:int\float\str\bool\None
#		 2.dict的value 可以为所有数据类型
#2.3.注意:Key具有唯一性(重复的会覆盖旧值)》》value可以重复
#4.4.字典无序存储,无索引,无切片。但是可以用key取值

  

#(二)常用操作:
#1.增:dic={}key无则增加新的value 有则更新
#2.改key存在则更新
#3.删del dic["name"]通过key制定删除,并返回删除对象value
#4.查:print(dic["name"])=通过key查找对应的value

  

#5.补充:dic.get("c")
# 浅拷贝: 宏观字典会拷贝,但内部数据延用原来数据
d1 = dic.copy()
print(id(dic), id(d1))

print(id(dic[‘list‘]), id(d1[‘list‘]))
dic[‘list‘].append(30)

print(d1[‘list‘])

# 深拷贝:字典及内部数据都进行拷贝
from copy import deepcopy
dic = {‘list‘: [10, 20]}
d2 = deepcopy(dic)
print(id(dic), id(d2))
print(id(dic[‘list‘]), id(d2[‘list‘]))
print(d2)
dic[‘list‘].append(30)
print(dic)
print(d2)
#6.字典的内置方法:
#	1.dic.popitem #随机删除返回原值(key,value)
#	2.dic.get
#	3.dic.item
#	4.dic.setdefault

  三、集合

#三、集合的定义:
#	1.1.单列数据集合:str\list\tuple\set\ 双列:dict
#	2.2.无序存储:无key无index,无法取值
#	3.3.可变数据类型,内部存放任意类型数据
#	4.4{}代表空字典,set()来创建空集合:set=() set1=("abc")

  

#集合内置方法----
集合间的运算 (& | ^ - > < ==)
#1.交集
set_v = {"a", "b", "c", "owen"}
set_v2 = {"a", "b", "c", "engon"}
# 交集
# 方法一:
set_p =set_v & set_v2
print(set_p)  #{‘a‘, ‘c‘, ‘b‘}
#方法二:
set_p=set_v.intersection(set_v2)
print(set_p)  #{‘a‘, ‘c‘, ‘b‘}
2.并集:
#并集:方法①
set_p=set_v |set_v2
print(set_p)  #set_p=set_v.intersection(set_v2)
#方法②:
set_p=set_v.union(set_v2)
print(set_p)  #{‘owen‘, ‘egon‘, ‘b‘, ‘c‘, ‘a‘}

3,.差集

#差集
#1
set_p=set_v -set_v2
print(set_p)
set_p=set_v.difference(set_v2)
print(set_p)
>>{‘owen‘}
{‘owen‘}

4.对称差集

# 并集
res = p_set | l_set
print(res)
res = p_set.union(l_set)
print(res)  # {‘z‘, ‘c‘, ‘y‘, ‘x‘, ‘b‘, ‘a‘, ‘egon‘}

# 差集
res = p_set - l_set
print(res)  # {‘a‘, ‘b‘, ‘c‘}
res = l_set.difference(p_set)
print(res)  # {‘x‘, ‘z‘, ‘y‘}

# 对称差集
res = p_set ^ l_set
print(res)
res = p_set.symmetric_difference(l_set)
print(res)  # {‘y‘, ‘a‘, ‘b‘, ‘x‘, ‘z‘, ‘c‘}

print(p_set)
print(l_set)
# p_set.difference_update(l_set)  # 将运算结果赋值给调用者
p_set = p_set - l_set
print(p_set)  # {‘c‘, ‘a‘, ‘b‘}
print(l_set)  # {‘egon‘, ‘z‘, ‘y‘, ‘x‘}

5.补充

# 添加删除操作
s = set()
s.add(‘abc‘)
s.add(‘xyz

案列:

# 案例: 不区分大小写,计算每一个名字出现的次数,记录在字典中ls = [‘Owen‘, ‘owen‘, ‘Egon‘, ‘LiuXX‘, ‘Liuxx‘, ‘egon‘, ‘egon‘]# {‘owen‘: 2, ‘egon‘: 3 ...}
3 常用操作+内置的方法pythons={‘李二丫‘,‘张金蛋‘,‘李银弹‘,‘赵铜蛋‘,‘张锡蛋‘,‘alex‘,‘oldboy‘}linuxs={‘lxx‘,‘egon‘,‘张金蛋‘,‘张锡蛋‘,‘alex‘,‘陈独秀‘}# 取及报名python课程又报名linux课程的学员:交集
# 1.统计元组中所有数据属于字符串的个数,提示:isinstance()
# 数据:t1 = (1, 2, ‘3‘, ‘4‘, 5, ‘6‘)
# 结果:3

# 2.将以下数据存储为字典类型
# 数据:info = "name:Owen|age:18|gender:男"
# 结果:{‘name‘: ‘Owen‘, ‘age‘: 18, ‘gender‘: ‘男‘}
# 注:年龄存储为数字类型

# 3.完成数据的去重
# 数据:t3 = (1, 2, 1, 2, 3, 5, 9)
# 结果:t3 = (1, 2, 3, 5, 9)
# 注:从不考虑顺序、考虑顺序两方面完成

# 4.计算元组中所有可以转换为数字的数据的总和
# 数据:t4 = (10, ‘abc‘, ‘100‘, ‘3‘)
# 运算结果:113

# 5.将数据转换类型存储
# 原数据:dic = {‘name‘: ‘Owen‘, ‘age‘: 18, ‘gender‘: ‘男‘}
# 处理后:info = [(‘name‘, ‘Owen‘), (‘age‘, 18), (‘gender‘, ‘男‘)]

# 拓展:选做
# 1.计算元组中所有可以转换为数字的数据的总和
# 数据:t4 = (10, ‘abc‘, ‘100‘, ‘3‘, ‘壹‘, ‘肆‘, [1000], (10000,))
# 运算结果:11118
# 提示:
#   -- 利用字符串isnumeric()判断汉字
#     -- 利用字典{‘壹‘: 1 ...}将汉字转换为数字
#    -- 利用isinstance()将list和tuple中数据取出来
#    -- 先将所有转化为数字的数据存放在一个单列集合中,在做运算

# 2.完成录入电话本
# 需求:
‘‘‘
-- 从键盘中录入姓名(不区分大小写):
    -- 姓名必须是全英文组成,不是则重新录入姓名,如果是q,代表退出
-- 从键盘中再录入电话:
    -- 电话必须为数字且长度必须是11位(不能转换为数字)
-- 如果出现姓名相同,则保留最后一次电话号码
-- 形成的数据是有电话分组的,如:第一次录入Owen,13355667788,则会形成
    -- {
        ‘O‘: {
            ‘Owen‘: ‘13355667788‘
        }
    }

最终数据,分组名一定大写:
{
    ‘E‘: {
        ‘egon‘: ‘17788990000‘,
        ‘engo‘: ‘16633445566‘
    },
    ‘O‘: {
        ‘Owen‘: ‘13355667788‘
    }
}
‘‘‘

  

  

原文地址:https://www.cnblogs.com/mofujin/p/10595503.html

时间: 2024-10-10 08:42:25

1.6小白学python入门基础-----元祖,字典,集合的相关文章

学python入门基础教程[推荐]

python入门经典必备推荐基础教程 绝对是python初学者入门必备,比learning python写的好100倍, 远超python基础教程n个数量级 下载地址 http://pan.baidu.com/s/1jGwzpeY 更多python学习资料 http://dou.bz/35ODPo

python----基础之数据类型(元祖,字典,集合)

元祖 元祖的定义和特性 定义:列表已经介绍过,现在介绍一种与类表相似的类型,叫做元祖,只不过把[]改成(). 特性: 1.可以存放多个指 2.不可变 3.按照从左往右的顺序定义元祖的元素,下标从0开始依次顺序访问,有序 元祖的创建与常用类型 1 # 创建 2 >>> we = (11, 22, 33, 44, 55) 3 >>> we 4 (11, 22, 33, 44, 55) 5 >>> type(we) 6 <class 'tuple'&g

小白学 Python 爬虫(32):异步请求库 AIOHTTP 基础入门

人生苦短,我用 Python 前文传送门: 小白学 Python 爬虫(1):开篇 小白学 Python 爬虫(2):前置准备(一)基本类库的安装 小白学 Python 爬虫(3):前置准备(二)Linux基础入门 小白学 Python 爬虫(4):前置准备(三)Docker基础入门 小白学 Python 爬虫(5):前置准备(四)数据库基础 小白学 Python 爬虫(6):前置准备(五)爬虫框架的安装 小白学 Python 爬虫(7):HTTP 基础 小白学 Python 爬虫(8):网页基

小白学 Python 爬虫(37):爬虫框架 Scrapy 入门基础(五) Spider Middleware

人生苦短,我用 Python 前文传送门: 小白学 Python 爬虫(1):开篇 小白学 Python 爬虫(2):前置准备(一)基本类库的安装 小白学 Python 爬虫(3):前置准备(二)Linux基础入门 小白学 Python 爬虫(4):前置准备(三)Docker基础入门 小白学 Python 爬虫(5):前置准备(四)数据库基础 小白学 Python 爬虫(6):前置准备(五)爬虫框架的安装 小白学 Python 爬虫(7):HTTP 基础 小白学 Python 爬虫(8):网页基

小白学 Python 爬虫(40):爬虫框架 Scrapy 入门基础(七)对接 Selenium 实战

人生苦短,我用 Python 前文传送门: 小白学 Python 爬虫(1):开篇 小白学 Python 爬虫(2):前置准备(一)基本类库的安装 小白学 Python 爬虫(3):前置准备(二)Linux基础入门 小白学 Python 爬虫(4):前置准备(三)Docker基础入门 小白学 Python 爬虫(5):前置准备(四)数据库基础 小白学 Python 爬虫(6):前置准备(五)爬虫框架的安装 小白学 Python 爬虫(7):HTTP 基础 小白学 Python 爬虫(8):网页基

小白学 Python(6):基础运算符(下)

人生苦短,我选Python 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 小白学 Python(3):基础数据类型(下) 小白学 Python(4):变量基础操作 小白学 Python(5):基础运算符(上) 前言 上一篇文章我们介绍了算术运算符和比较运算符.本篇我们继续介绍其余的几个: 赋值运算符 逻辑运算符 成员运算符 身份运算符 赋值运算符 Python 中,使用 = 号表示赋值.当然,Python 还提供了其他赋值方式,直接帮我们简化了写法

小白学 Python(23):Excel 基础操作(上)

人生苦短,我选Python 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 小白学 Python(3):基础数据类型(下) 小白学 Python(4):变量基础操作 小白学 Python(5):基础运算符(上) 小白学 Python(6):基础运算符(下) 小白学 Python(7):基础流程控制(上) 小白学 Python(8):基础流程控制(下) 小白学 Python(9):基础数据结构(列表)(上) 小白学 Python(10):基础数据结构(

小白学 Python 爬虫(12):urllib 基础使用(二)

人生苦短,我用 Python 前文传送门: 小白学 Python 爬虫(1):开篇 小白学 Python 爬虫(2):前置准备(一)基本类库的安装 小白学 Python 爬虫(3):前置准备(二)Linux基础入门 小白学 Python 爬虫(4):前置准备(三)Docker基础入门 小白学 Python 爬虫(5):前置准备(四)数据库基础 小白学 Python 爬虫(6):前置准备(五)爬虫框架的安装 小白学 Python 爬虫(7):HTTP 基础 小白学 Python 爬虫(8):网页基

小白学 Python 爬虫(15):urllib 基础使用(五)

人生苦短,我用 Python 前文传送门: 小白学 Python 爬虫(1):开篇 小白学 Python 爬虫(2):前置准备(一)基本类库的安装 小白学 Python 爬虫(3):前置准备(二)Linux基础入门 小白学 Python 爬虫(4):前置准备(三)Docker基础入门 小白学 Python 爬虫(5):前置准备(四)数据库基础 小白学 Python 爬虫(6):前置准备(五)爬虫框架的安装 小白学 Python 爬虫(7):HTTP 基础 小白学 Python 爬虫(8):网页基