首页 > 编程语言 >Python的基础语法(五)“数据内置方法之字典、元组、集合”

Python的基础语法(五)“数据内置方法之字典、元组、集合”

时间:2023-05-22 17:25:06浏览次数:49  
标签:username 内置 name Python 18 age 元组 print kevin

字典的内置方法

1、字典常用的定义方法:

            info={'name':'tony','age':18,'sex':'male'}

            info = dict(name='tony',age='18')

2、字典的内置方法

2.1、按照key取值,可存可取:

            dic = {
                'name': 'xxx',
                'age': 18,
                'hobbies': ['play game', 'basketball']
            }
            print(dic['name'])  # xxx
            print(dic['hobbies'])  # ['play game', 'basketball']
            print(dic['hobbies'][1])  # basketball

2.2、赋值操作:

            dic['name'] = 'kevin'  # {'name': 'kevin', 'age': 18, 'hobbies': ['play game', 'basketball']}
            dic['gender'] = 'male' # 字典:当K存在的时候,就是修改操作,当k不存在的时候,就是增加一个key值 (重要)
            print(dic)

            dic1 = {'name': 'yyy'}
            dic1['name'] = 'xxx'
            dic1['age'] = 'aaaa'
            dic1['gender'] = 'xxx'
            print(dic1)

2.3、长度len:

            print(len(dic1))   # 3

2.4、成员运算符in和notin:

            d = {'username': 'kevin', 'age': 18}
            print('kevin' in d)  # False
            print('username' in d)  # True
            print('username' not in d)  # False
            '''
            字典暴露的始终是key,所以不可以直接搜索v的值,只能通过key.
            '''

2.5、键keys(),值values(),键值对items() '三剑客'

            d = {'username': 'kevin', 'age': 18}

获取字典中的全部key:

            print(d.keys())  # dict_keys(['username', 'age'])  # 把它当成列表来记忆,把字典的所有key拿出来,组装成列表返回

获取字典中的values:

            print(d.values())  # dict_values(['kevin', 18]) #  把它当成列表来记忆,把字典的所有value值拿出来,组装成列表返回

获取字典中的所有键值对:

            print(d.items()) # dict_items([('username', 'kevin'), ('age', 18)]) # # 返回的是列表套元组的形式,列表里面是一个个的小元组,元组里面是字典的k和v

使用for循环取出值:

            for i in d.keys():
            print(i)

            for j in d.values():
            print(j)
            # d.items()-----> dict_items([('username', 'kevin'), ('age', 18)])
            or items in d.items():

            # items是元组
            print(items)  # ('username', 'kevin')
            # print(items)  # ('age', 18)
            # print(items[0], items[1])

            for dic in d:
            print(dic)  # 暴露的是k值

2.6、get

            如果key存在,则返回v值,如果key不存在则返回None

            d = {'username': 'jack', 'age': 18}
            print(d['username'])  # 'jack'
            print(d['username1'])  # 字典取值,如果key不存在,直接报错
            print(d.get('username'))  # jack
            print(d.get('username1'))  # None 如果使用get取值,key存在,则直接取出对应的值,如果key不存在,返回None
            print(d.get('username', 'xxx'))  # jack
            print(d.get('username1', 'xxx'))  # xxx, get可以传递第二个参数,意思是默认值,当取出的key不存在的时候,直接返回第二个参数的值

            '''以后字典取值最好使用get取值,不会直接报错'''

2.7、pop()

            d = {'username': 'jack', 'age': 18, 'gender': 'male'}
            # pop
            print(d.pop('username'))  # jack
            print(d)  # {'age': 18, 'gender': 'male'}

            '''代表的是删除字典的元素。但是,删除username键值对,并且把v弹出来'''

2.8、popitem

            dic.popitem()
            d = {'username': 'jack', 'age': 18, 'gender':'male'}
            # popitem
            print(d.popitem())  # ('gender', 'male')
            print(d)  # ('gender', 'male') {'username': 'jack', 'age': 18}

            '''代表的是删除字典的元素。但是,删除的值末尾的k:v,并且把最后一个k:v弹出来了'''
            随机删除一组键值对,并将删除的键值放到元组内返回,类似于列表中的pop

2.9、update

            '''update的功能是:如果字典的k存在,则修改原来的k,如果不存在,则添加一个新值'''
            d = {'username': 'jack', 'age': 18, 'gender':'male'}
            d1 = {'username': 'tank', 'hobbys': ['read', 'music']}
            d.update(d1)
            print(d) # {'username': 'tank', 'age': 18, 'gender': 'male', 'hobbys': ['read', 'music']}

2、元组的内置方法

2.1元组的定义:

            res = (1,2,3,4,5)

2.2类型转换:

            t = (1, 2, 3)
            print(type(t))  # tuple
            print(tuple(123)) # 不行
            print(tuple(123.11)) # 不行
            print(tuple('hello'))  # ('h', 'e', 'l', 'l', 'o')
            print(tuple((1, 2, 3, 4)))  # (1, 2, 3, 4)
            print(tuple([1, 2, 3, 4, 5]))  # (1, 2, 3, 4, 5)
            print(tuple({'a': 1, 'b': 2}))  # ('a', 'b')
            print(tuple({1, 2, 3, 4}))  # (1, 2, 3, 4)

2.3元组的内置方法

2.3.1、可以按照索引正反向取值:

            t = (1, 2, 3, 4)
            print(t[0])
            print(t[1])
            print(t[2]) # 索引取值,索引从0开始
            print(t[-1])
            print(t[-2]) # 负数代表的就是方向

2.3.2、切片

            t = (1, 2, 3, 4)
            print(t[0:2])  # (1, 2)
            print(t[0:])  # (1, 2)
            print(t[:2])  # (1, 2)
            print(t[0:3:2])  # (1, 2)

2.3.3、长度

            t = (1, 2, 3, 4)
            print(len(t))

2.3.4、成员运算符

            tuple1 = (1, 'hhaha', 15000.00, 11, 22, 33)
            # tuple1 = 'hhaha' in tuple1 # Ture
            # tuple1 = 'hhaha' not in tuple1 # False
            print(tuple1)

2.3.5、循环

            t = (1, 2, 3, 4)
            for line in t:
               print(line)

3、面试题
            t = (1, 2, 3, ['a', 'b', 'c'])
            t[3].append('d')  # (1, 2, 3, ['a', 'b', 'c', 'd'])
            t[1] = 666 # 报错
            print(t)
            # 2
            t1 = (123)
            t2 = (1.123)
            t3 = (1)
            t4 = (1234, )
            # <class 'int'>  <class 'float'>  <class 'int'>
            print(type(t1), type(t2), type(t3), type(t4)) # <class 'tuple'>
            '''当元组内只有一个元素的时候,也要加上逗号结尾,否则不是元组类型!'''
            l = [1, ]
            print(type(l)) # <class 'list'>
            '''建议:
                    只要是容器类型,当元素只有一个的时候,建议都加上逗号
            容器类型:
                只要是能够存放多个元素的数据类型都可以称之为是容器类型
            '''


3、集合

1、集合定义

            s = {1,2,3}
            s = set(1,2,3)

2、类型转换

            print(set(123))   # 不行
            print(set(123.1)) # 不行
            print(set('hello'))  # {'e', 'o', 'l', 'h'}
            print(set([1, 2, 3, 4, 4, 3, 2, 1]))  # {1, 2, 3, 4}
            print(set((1, 2, 3, 4, 5)))  # {1, 2, 3, 4, 5}
            print(set({'username': 'kevin', 'age': 28}))  # {'age', 'username'}
            '''集合能够把支持for循环的数据类型都转为元组类型!'''

3、集合的作用:

            """课堂练习1:"""
            3.1、s = {1, 2, 3, 4, 4, 3, 2, 23, 534, 65, 76, 78, 43, 324, }
            print(s) # {1, 2, 3, 4, 65, 324, 43, 76, 78, 534, 23}

            3.2、name_list = ['kevin', 'tank', 'tony', 'tony', 'jack', 'jack', 'jack', 'tony', 'ly',]
            # 基本要求:去重
            print(set(name_list))  # {'tank', 'jack', 'kevin'}

            # 再次转为列表
            print(list(set(name_list)))  # ['kevin', 'tank', 'jack']

            #### 拔高要求
            # 去重,并且保留原来的顺序

            new_list = [] # 用来存放取出之后的元素
            for name in name_list:
                # name----->列表的一个个元素
                if name not in new_list:
                    new_list.append(name)

            print(new_list)  # ['kevin', 'tank', 'tony', 'jack', 'ly']


4、集合的关系运算

            friends1 = {"zero","kevin","jason","egon"} # 用户1的好友们
            friends2 = {"Jy","ricky","jason","egon"}   # 用户2的好友们

1、合集/并集(|):求两个用户所有的好友(重复好友只留一个

            print(friends1 | friends2) # {'zero', 'kevin', 'ricky', 'Jy', 'jason', 'egon'}


2、交集(&):求出两个用户的共同好友

            print(friends1 & friends2)  # {'jason', 'egon'}


3、差集(-):求出变量一的差集

            print(friends1 - friends2)  # {'kevin', 'zero'}
            print(friends2 - friends1)  # {'Jy', 'ricky'}


4、对称差集(^):求两个用户独有的好友们(即去掉共有的好友

            print(friends1 ^ friends2)


5、值是否相等(==):

            print(friends1 == friends2) # False

6、父集、子集
            print({1, 2, 3} >= {1, 2, 3}) # True
            print({1, 2, 3} < {1, 2}) # True
            '''
            包含的话则返回Ture、不包括返回False
            '''

标签:username,内置,name,Python,18,age,元组,print,kevin
From: https://www.cnblogs.com/chao0308/p/17421054.html

相关文章

  • Python多进程运行——Multiprocessing基础教程2
    转载:Python多进程运行——Multiprocessing基础教程2-知乎(zhihu.com)1数据共享在多进程处理中,所有新创建的进程都会有这两个特点:独立运行,有自己的内存空间。我们来举个例子展示一下:importmultiprocessing#emptylistwithglobalscoperesult=[]defsquare_l......
  • 聊聊python的字符编码
    什么是字符编码?在计算机内部,所有的数据都是二进制形式存储的,无法直接存储我们人类的语言文字符号等,所以我们需要制定一种转换规则来明确计算机内部二进制与我们的数字符号文字之间的对应关系,这就出现了‘字符编码’。字符编码的发展史阶段一现代计算机起源于美国,所以......
  • 比较不同Python图形处理库或图像处理库的异同点
    python的图像处理库有很多种比如:pillow库、Numpy库、Scipy库、opencv库、pgmagic库等其中较常用的是NUmapy库、pillow库、openCV库,今天我们就这三种图像处理库来进行比较首先是numapy库;他是一个python库可以帮助我们处理所有类型的科学计算,他是在执行任何数据预处理或数据科......
  • Python中for循环
    在Python中,for循环用于遍历可迭代对象(如列表、元组、字符串等)中的元素,并执行相应的操作。for循环的基本语法如下:forelementiniterable:#执行操作其中,element是一个变量,用于存储每次循环迭代的元素值,iterable是一个可迭代对象,包含一系列元素。以下是一个简单的示例,演示如......
  • AcWing901. 滑雪(python)
    题目详情知识点记忆化DP思路自己的思路(仅参考):一开始想的是找最大值,然后从最大值开始向下滑,但是我们是要求最长路径,不一定是从最高的点滑下去的,也不一定是滑到最低点,而且会存在最大值不止一个的情况,所以我们应该是针对每一个点,都求出当前该点出发能去的最长路径,然后求完之后......
  • Python竖版大屏 | 用pyecharts开发可视化的奇妙探索!
    你好!我是@马哥python说,一枚10年程序猿......
  • python控制微信发消息
    使用pyautogui控制PC版微信,发消息。importpyautoguiimporttimedefOpen_Wechat():#使用快捷键打开微信。这个微信的默认设置的快捷键。pyautogui.hotkey('ctrl','alt','w')time.sleep(1)defChat_Who(ContactPerson):#使用快捷键打开查找,找一个......
  • <Python全景系列-1> Hello World,1分钟配置好你的python环境
    《从此开始:1分钟配置好你的python环境》欢迎来到我们的系列博客《Python360全景》!在这个系列中,我们将带领你从Python的基础知识开始,一步步深入到高级话题,帮助你掌握这门强大而灵活的编程语法。无论你是编程新手,还是有一定基础的开发者,这个系列都将提供你需要的知识和技能。这是我......
  • < Python全景系列-2 > Python数据类型大盘点
    欢迎来到我们的系列博客《Python全景系列》!在这个系列中,我们将带领你从Python的基础知识开始,一步步深入到高级话题,帮助你掌握这门强大而灵活的编程语法。无论你是编程新手,还是有一定基础的开发者,这个系列都将提供你需要的知识和技能。Python作为一门强大且灵活的编程语言,拥有丰富......
  • < Python全景系列-3 > Python控制流程盘点及高级用法、神秘技巧大揭秘!
    欢迎来到我们的系列博客《Python全景系列》!在这个系列中,我们将带领你从Python的基础知识开始,一步步深入到高级话题,帮助你掌握这门强大而灵活的编程语法。无论你是编程新手,还是有一定基础的开发者,这个系列都将提供你需要的知识和技能。这是系列第三篇,在这篇文章中我们将全面深入地......