list

# 1.list() 把可迭代对象转换成list,即for循环遍历的可迭代对象
my_str = "abcdef"
new_list = list(my_str)
print(new_list) # ['a', 'b', 'c', 'd', 'e', 'f']
# 此处可以理解为是通过for循环遍历以后,然后存储到列表中,转元组同理

new_list = list(range(10)) # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

new_list = list(range(1,11,2)) # [1, 3, 5, 7, 9]
# 因为字典遍历出来得到是key,所以字典转列表得到就是
my_dict = {"key1":"value1","key2":"value2","key3":"value3"}
new_list = list(my_dict)
print(new_list) # ['key1', 'key2', 'key3']

new_list = ["小肥牛","哈哈","小肥牛"]
count_num = new_list.count("小肥牛")
print(count_num) # 返回列表中的元素"小肥牛"出现的次数,若元素不存在,返回0

# 字符串,元组也有count的功能,用法一致
new_str = "hahaha"
print(new_str.count("h"))

dict

# 创建字典的四种格式
my_dict = {"key1":"value1"}
my_dict = dict()
mydict = dict(key1=value1,key2=value2)

keys = ["key1","key2","key3"]
new_dict = {}.fromkeys(keys,"要给key指定的初始值")
print(new_dict) # {'key1': '要给key指定的初始值', 'key2': '要给key指定的初始值', 'key3': '要给key指定的初始值'}

# 可迭代类型转换为字典,容器内必须是以嵌套容器且由两个值才可以转换成字典,多余2个或少于两个直接报ValueError
my_list = [("key1", "value1"), ("key2", "value2")]
print(dict(my_list)) # my_list = [("key1", "value1"), ("key2", "value2")]
print(dict(my_list))

# 字典的成员运算,in ,not in 是判断key是否存在字典当中的

my_dict = {"key1":"value1","key2":"value2"}

# setdefault()方法
old_result = my_dict.setdefault("key1","若有key1,就返回对应的值,若没有就把key1添加到字典中,且返回定义的默认值")
print(old_result) # 因为key1存在,所有直接返回对应的value值--value1
result = my_dict.setdefault("key3","默认值")
print(result) # 默认值
print(my_dict) # {'key1': 'value1', 'key2': 'value2', 'key3': '默认值'}

集合set

# 只能存不可变类型,应用场景:去重,和关系运算(共同爱好,共同好友,共同粉丝,共同关注)
# 无序,且不可重复,用{1,2,3}表示,定义空的集合,必须用set()
# 也可用len()计算长度,in not in 判断是否存在,也可用于for循环
hobbies1 = {"吃饭", "睡觉", "打游戏", "学习"}
hobbies2 = {"吃饭", "睡觉", "看书"}

result = hobbies1 & hobbies2  # 取两个集合的交集
# hobbies1.intersection(hobbies2)
print(result) # {'睡觉', '吃饭'}

result = hobbies1 | hobbies2 # 取并集
# hobbies1.union(hobbies2)
print(result) # {'睡觉', '吃饭', '看书', '学习', '打游戏'}

result = hobbies1 - hobbies2 # 取差集,哪个集合在前,就取哪个集合独有的
# hobbies1.difference(hobbies2)
print(result) # {'打游戏', '学习'}

result = hobbies1 ^ hobbies2 # 取对称差集,也就是取出每个人分别独有的爱好
# hobbies1.symmetric_difference(hobbies2)
print(result) # {'学习', '打游戏', '看书'}


# 枚举出列表中的索引位置,enumerate("可迭代对象,如list,tuple")
li = ["a", "b", "c"] for i in enumerate(li):
# i的值为
# 0, 'a')
# (1, 'b')
# (2, 'c')
print(i) for index, value in enumerate(li):
# 此处解包
print(f"列表中索引位置{index}对应的值为{value}")
"""
列表中索引位置0对应的值为a
列表中索引位置1对应的值为b
列表中索引位置2对应的值为c
"""

python的list,dict,set的更多相关文章

  1. python基础之dict、set及字符

    python基础之dict.set及字符串处理 本节内容 字典介绍及内置方法 集合介绍 字符串处理 1.字典介绍及内置方法 字典是python中唯一的映射类型,采用键值对(key-value)的形式存 ...

  2. Python中的dict和set

    1.dict定义: Python写一个dict如下: >>> d = {'Michael': 95, 'Bob': 75, 'Tracy': 85} >>> d[' ...

  3. python基础——使用dict和set

    python基础——使用dict和set dict Python内置了字典:dict的支持,dict全称dictionary,在其它语言中也称为map(映射),使用键-值(key-value)存储,具 ...

  4. 第四篇:python基础之dict、set及字符

    python基础之dict.set及字符   python基础之dict.set及字符串处理 本节内容 字典介绍及内置方法 集合介绍 字符串处理 1.字典介绍及内置方法 字典是python中唯一的映射 ...

  5. python字符串格式化--dict传参

    # -*- coding: utf-8 -*- #python 27 #xiaodeng #python字符串格式化--dict传参 print "I'm %(name)s. I'm %(a ...

  6. Python学习——使用dict和set

    dict Python内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度. 举个例子,假设要根据同学的名字 ...

  7. Python学习笔记—Dict和set

    dict Python内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度. 举个例子,假设要根据同学的名字 ...

  8. Python 内置类型 dict, list,线程安全吗

    近段时间发现一个 Python 连接数据库的连接是线程不安全的,结果惹得我哪哪儿都怀疑变量的多线程是否安全的问题,今天终于找到了正确答案,那就是 Python 内置类型 dict,list ,tupl ...

  9. Python基础之dict和set的使用

    dict Python内置了字典:dict的支持,dict全称dictionary,在其他语言种也称为map,使用键-值(key-value)存储,具有极快的查找速度. 举个例子,假设要根据同学的名字 ...

  10. python第一天 - dict

    dict key-value集合. d = { ': 'a', ': 'b', ': 'c' } (一).获取集合长度:len(d) = 3(二).获取值: 方式一:d[key];例:d['1'] = ...

随机推荐

  1. Excelize 发布 2.6.0 版本,功能强大的 Excel 文档基础库

    Excelize 是 Go 语言编写的用于操作 Office Excel 文档基础库,基于 ECMA-376,ISO/IEC 29500 国际标准.可以使用它来读取.写入由 Microsoft Exc ...

  2. Apple Music 免费试用 2 个月

    下载地址:https://redeem.apple.com/am-genshin-impact-2mo-zh-cn?origin=&locale=zh-CN 使用指南 打开链接,点击" ...

  3. HEXO-admin安装和使用(汉化版)

    hi,大家好,我是KINGWDY,众所周知我用的是hexo,写博文首先要在终端输入hexo n xxxxx,然后打开MWeb PRO开始写md,但是,这很麻烦,就在我一筹莫展之际,我看到了这篇博文-- ...

  4. 【java】学习路线7-继承、super方法、重写、重载

    /*继承-java只有单继承如果你创建了很多个class,但是之间有很多相同的成员变量和成员方法,修改的时候又要多处修改好麻烦,此时就可以创建多一个类来存储这些重复的东西,统一管理.相当方便.*//* ...

  5. Python代码用在这些地方,其实1行就够了!

    摘要:都说 Python 简单快捷,那本篇博客就为大家带来一些实用的 Python 技巧,而且仅需要 1 行代码,就可以解决一些小问题. 本文分享自华为云社区<你猜 1 行Python代码能干什 ...

  6. 第九十七篇:CSS的选择器及优先级

    好家伙,来补一点关于CSS的基础 1.id选择器 id 选择器可以为标有特定 id 的 HTML 元素指定特定的样式 使用#号来定义样式 2.class选择器 class 选择器用于描述一组元素的样式 ...

  7. JUC锁:核心类AQS源码详解

    目录 1 疑点todo和解疑 2 AbstractQueuedSynchronizer学习总结 2.1 AQS要点总结 2.2 细节分析 2.2.1 插入节点时先更新prev再更新前驱next 2.2 ...

  8. KingbaseES R3集群备库执行sys_backup.sh物理备份案例

    案例说明: KingbaseES R3的后期版本支持通过sys_backup.sh执行sys_rman的物理备份,实际上是调用了sys_rman_v6的工具做物理备份.本案例是在备库上执行集群的备份, ...

  9. Qt5.14.2使用虚拟键盘

    说明 这是关于Qt5(Qt5.1.4.2),QWidget编程使用Qt虚拟键盘(qtvirtualkeyboard) Tag: QT5,Qt,软件盘.虚拟键盘,Widget程序,QML  作者:474 ...

  10. ElasticSearch介绍和基本用法(一)

    ElasticSearch 引言 1.在海量数据中执行搜索功能时,如果使用MySQL, 效率太低. 2.如果关键字输入的不准确,一样可以搜索到想要的数据. 3.将搜索关键字,以红色的字体展示. 介绍: ...