【python学习】列表、元组、字典、集合,秋招是不是得到处面试

简介: 【python学习】列表、元组、字典、集合,秋招是不是得到处面试

==,<,>比较运算符与字符串比较大小相似

例:

list1 = [1, 2, 3]
list2 = [1, 2, 3]
print(list1 == list2) # True
print(list1 == [1, 3, 2]) # False(顺序不对)
in 和 not in:判断列表中是否存在指定的元素

例:

print(1 in [1, 2, 3]) #True
print([1, 2] in [1, 2, 3]) # False

列表的嵌套


列表的嵌套指的是一个列表的元素又是一个列表。

schoolNames = [[‘北京大学’,‘清华大学’],
[‘南开大学’,‘天津大学’,‘天津师范大学’],
[‘山东大学’,‘中国海洋大学’]]

二、元组

===============================================================

Python的元组(tuple)与列表类似,不同之处在于元组的元素不能修改。元组使用小括号,列表使用方括号。
tup1 = (‘physics’, ‘chemistry’, 1997, 2000)
tup2 = (1, 2, 3, 4, 5 )
写法2:(不建议)
tup3 = “a”, “b”, “c”, “d”

元组使用规则


1.使用圆括号()表示开始和结束。

2.不同元素以逗号分隔。

3.每个元素的排列是有序号的,元素相同但排列不同的元组属于不同的元组。

4.元组可以使用下标索引来访问元组中的值 。

5.元组不允许修改元组。

tup1 = (12, 34.56)

以下修改元组元素操作是非法的。

tup1[0] = 100

元组的遍历


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

for num in a_tuple:

print(num,end=" ") #end指定结尾符,默认回车

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

i = 0

while i < len(a_tuple):

print(a_tuple[i],end=" ")

i += 1

元组的内置函数


元组的运算符操作


+:将两个元组中的元素合并在一起产生一个新的元组。(和列表相同)

*:将元组中的元素重复N次,产生一个新的元组

print((1, 2, 3) +(4, 5, 6))

print((1, 2, 3) * 3)

#(1, 2, 3, 4, 5, 6)

(1, 2, 3, 1, 2, 3, 1, 2, 3)

三、字典

===============================================================

字典是一种存储数据的容器,它和列表一样,都可以存储多个数据。

每个元素都是由两部分组成的,分别是键和值。

info = {‘name’:‘张三’, ‘sex’:‘f’, ‘address’:‘北京’}

#‘name’为键,‘张三’为值。

字典使用规则:


1.使用花括号{}表示开始和结束,并且每个元素是以key:value方式成对出现。

2.不同元素以逗号分隔。

3.每个元素的排列是无序的,元素相同但排列不同的字典属于相同的字典。

4.根据键访问值。(注意:如果使用的是不存在的键,则程序会报错。)

info = {‘name’:‘班长’, ‘id’:100, ‘sex’:‘f’, ‘address’:‘北京’}
print(info[‘name’])
print(info[‘address’])

如果我们不确定字典中是否存在某个键而又想获取其值时,可以使用get方法,还可以设置默认值。

info = {‘name’:‘班长’, ‘id’:100, ‘sex’:‘f’, ‘address’:‘北京’}
age = info.get(‘age’)
print(age) #'age’键不存在,所以age为None
age = info.get(‘age’, 18) # 若info不存在’age’,返回默认值18
print(age)
age = info.get(‘age’, ‘索引不存在’)
print(age)

字典的增删改


修改字典的元素
info = {‘name’:‘班长’, ‘id’:100,‘sex’:‘f’, ‘address’:‘北京’}
newId = input(‘请输入新的学号’)
info[‘id’] = int(newId)
print(‘修改之后的id为:%d’ % info[‘id’])

添加新的字典元素

法1:

info = {‘name’:‘班长’, ‘id’:100,‘sex’:‘f’, ‘address’:‘北京’}
newId = input(‘请输入电话’)
info[‘phone’] = newId
print(info)

法2:

#添加方法二:使用update方法添加
info = {‘name’:‘班长’, ‘id’:100,‘sex’:‘f’, ‘address’:‘北京’}
phone_dic = {‘phone’:‘18812345678’}
info.update(phone_dic)
print(info)

删除字典元素
  • del:可删除字典中元素或者删除字典;删除字典后,字典完全不存在了,无法再根据键访问字典的值。

del info['sex'], del info;

  • pop:删除元素并返回value值。info.pop('sex')
  • clear:只是清空字典中的数据,字典还存在,只不过没有元素。 info.clear()

计算字典中键值对的个数


dicts = {‘Name’: ‘Zara’, ‘Age’: 7}
print(“Length : %d” % len (dicts))

获取字典中键的列表


keys()方法返回在字典中的所有可用的键,可通过list(dict.keys())方式转换为列表。

dicts = {‘Name’: ‘Zara’, ‘Age’: 7}
print(dicts.keys())
print(list(dicts.keys())) #可转换为list类型

获取字典中值的列表


values()方法返回在字典中的所有可用的值,同样可通过list()转化为列表

dicts = {‘Name’: ‘Zara’, ‘Age’: 7}
print(dicts.values())
print(list(dicts.values()))#可转换为list类型

计算字典中键值对的个数


items()方法返回字典的(键,值)元组对的列表

dicts= {‘Name’: ‘Zara’, ‘Age’: 7}
print(“Value : %s” % dicts.items())
print(type(list( dicts.items())[0]))
#查看第0个item的类型

字典的遍历


1.遍历字典的键key(直接遍历,不必转换为list)

dicts = {‘Name’: ‘Zara’, ‘Age’: 7}
for key in dicts.keys():
print(key)

2. 遍历字典的值value(不必转换为list)

dicts = {‘Name’: ‘Zara’, ‘Age’: 7}
for value in dicts.values():
print(value)

3. 遍历字典的元素

dicts = {‘Name’: ‘Zara’, ‘Age’: 7}
for item in dicts.items():
print(item)

4. 遍历字典的键值对

dicts = {‘Name’: ‘Zara’, ‘Age’: 7}
for key,value in dicts.items():
print(“key=%s,value=%s”%(key,value))

集合

=============================================================

集合(set)是一个无序的不重复元素序列。对应于数学中集合的概念。

basket = {‘apple’, ‘orange’, ‘apple’, ‘pear’, ‘orange’, ‘banana’}
letters = set([‘apple’, ‘orange’, ‘apple’, ‘pear’, ‘orange’, ‘banana’])

可以使用大括号 { } 或者 set() 函数创建集合;

注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。

集合使用规则:


  • 1.使用花括号{}表示开始和结束,并且每个元素是以单个元素方式出现。
  • 2.不同元素以逗号分隔。
  • 3.每个元素的排列是无序的,元素相同但排列不同的集合属于相同的集合。
  • 4.集合中若有重复元素,会自动删除重复值,不会报错。

集合常见操作1


添加元素
thisset = {“Google”, “Runoob”, “Taobao”}


相关文章
|
13天前
|
安全 数据安全/隐私保护 Python
Python学习的自我理解和想法(27)
本文记录了学习Python第27天的内容,主要介绍了使用Python操作PPTX和PDF的技巧。其中包括通过`python-pptx`库创建PPTX文件的详细步骤,如创建幻灯片对象、选择母版布局、编辑标题与副标题、添加文本框和图片,以及保存文件。此外,还讲解了如何利用`PyPDF2`库为PDF文件加密,涵盖安装库、定义函数、读取文件、设置密码及保存加密文件的过程。文章总结了Python在处理文档时的强大功能,并表达了对读者应用这些技能的期待。
|
8天前
|
存储 搜索推荐 算法
Python学习的自我理解和想法(28)
本文记录了学习Python第28天的内容——冒泡排序。通过B站千锋教育课程学习,非原创代码。文章详细介绍了冒泡排序的起源、概念、工作原理及多种Python实现方式(普通版、进阶版1和进阶版2)。同时分析了其时间复杂度(最坏、最好、平均情况)与空间复杂度,并探讨了实际应用场景(如小规模数据排序、教学示例)及局限性(如效率低下、不适用于高实时性场景)。最后总结了冒泡排序的意义及其对初学者的重要性。
|
14天前
|
Python
Python学习的自我理解和想法(26)
这是一篇关于使用Python操作Word文档的学习总结,基于B站千锋教育课程内容编写。主要介绍了通过`python-docx`库在Word中插入列表(有序与无序)、表格,以及读取docx文件的方法。详细展示了代码示例与结果,涵盖创建文档对象、添加数据、设置样式、保存文件等步骤。虽为开学后时间有限下的简要记录,但仍清晰梳理了核心知识点,有助于初学者掌握自动化办公技巧。不足之处欢迎指正!
|
21天前
|
索引 Python
Python学习的自我理解和想法(24)
本文记录了学习Python操作Excel的第24天内容,基于B站千锋教育课程。主要介绍openpyxl插件的使用,包括安装、读取与写入Excel文件、插入图表等操作。具体内容涵盖加载工作簿、获取单元格数据、创建和保存工作表,以及通过图表展示数据。因开学时间有限,文章简要概述了各步骤代码实现,适合初学者参考学习。如有不足之处,欢迎指正!
|
18天前
|
Python
Python学习的自我理解和想法(25)
这是一篇关于Python操作Word文档(docx)的教程总结,基于B站千锋教育课程学习(非原创代码)。主要内容包括:1) docx库插件安装;2) 创建与编辑Word文档,如添加标题、段落、设置字体样式及保存;3) 向新或现有Word文档插入图片。通过简单示例展示了如何高效使用python-docx库完成文档操作。因开学时间有限,内容精简,后续将更新列表和表格相关内容。欢迎指正交流!
|
9月前
|
存储 Java
【IO面试题 四】、介绍一下Java的序列化与反序列化
Java的序列化与反序列化允许对象通过实现Serializable接口转换成字节序列并存储或传输,之后可以通过ObjectInputStream和ObjectOutputStream的方法将这些字节序列恢复成对象。
|
6月前
|
存储 缓存 算法
面试官:单核 CPU 支持 Java 多线程吗?为什么?被问懵了!
本文介绍了多线程环境下的几个关键概念,包括时间片、超线程、上下文切换及其影响因素,以及线程调度的两种方式——抢占式调度和协同式调度。文章还讨论了减少上下文切换次数以提高多线程程序效率的方法,如无锁并发编程、使用CAS算法等,并提出了合理的线程数量配置策略,以平衡CPU利用率和线程切换开销。
面试官:单核 CPU 支持 Java 多线程吗?为什么?被问懵了!
|
6月前
|
存储 算法 Java
大厂面试高频:什么是自旋锁?Java 实现自旋锁的原理?
本文详解自旋锁的概念、优缺点、使用场景及Java实现。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
大厂面试高频:什么是自旋锁?Java 实现自旋锁的原理?
|
6月前
|
存储 缓存 Java
大厂面试必看!Java基本数据类型和包装类的那些坑
本文介绍了Java中的基本数据类型和包装类,包括整数类型、浮点数类型、字符类型和布尔类型。详细讲解了每种类型的特性和应用场景,并探讨了包装类的引入原因、装箱与拆箱机制以及缓存机制。最后总结了面试中常见的相关考点,帮助读者更好地理解和应对面试中的问题。
162 4
|
7月前
|
算法 Java 数据中心
探讨面试常见问题雪花算法、时钟回拨问题,java中优雅的实现方式
【10月更文挑战第2天】在大数据量系统中,分布式ID生成是一个关键问题。为了保证在分布式环境下生成的ID唯一、有序且高效,业界提出了多种解决方案,其中雪花算法(Snowflake Algorithm)是一种广泛应用的分布式ID生成算法。本文将详细介绍雪花算法的原理、实现及其处理时钟回拨问题的方法,并提供Java代码示例。
332 2

热门文章

最新文章