python入门之:列表+元组+字典+集合

python入门之:列表+元组+字典+集合

主要知识框架及N多文案从下面这位大神处截取
梳理python知识主要是因为之前虽然也写过appium,也写过接口测试的,但是说实在的,那些东西都是框架,并没有系统的学习过python的基础知识,所以想要重新梳理一遍,然后看到了这个博主的系列博客,恰好符合我的需求,遂,拿来,转载已经获得作者许可,在原基础上按照自己的知识储备再做了部分精简和细化,如果说原文是精简版,那我这个就是精简plus版,只是梳理出大概的脉络,下面是原文的链接
传送门

列表

[‘h’, ‘e’, ‘l’, ‘l’, ‘o’]

新增和删除

insert()函数用于将元素插入到列表的指定位置
append()函数用于在列表末尾添加新的元素
extend()函数用于在列表末尾添加另一个列表

del语句用于删除列表中指定元素,可以使用索引或切片来指定要删除的元素。

remove()函数用于删除列表中指定元素,若有多个指定元素,则只删除第一个相同的指定元素;

pop()函数用于删除列表中指定元素,可以通过索引来指定要删除元素,若不指定,则只删除该列表的末尾元素。

排序

列表的排序,可以通过sort()、sorted()、reverse()三种函数对列表进行排序,要注意排序后的列表将会替换原本的列表。

sorted()函数用于将列表中的元素升序排序
sort()函数有两个参数,参数key指定排序规则,可以为列表支持的函数,而参数reverse指定列表元素排序的方式(默认值为False,即升序排列,若reverse=True,则表示降序排列)
例如,下列Python代码,列表a只设置了参数reverse,且reverse=True,表示将列表按降序排列;列表b设置参数key,且key=len,len()函数可以用于计算字符串的长度,表示根据字符串的字符长度进行排序,且参数key为默认值即升序排列:

a = ["20", "-1.2", "0", "1"]
a.sort(reverse=True)
print(a)
b = ["python", "php", "c", "c#"]
b.sort(key=len)
print(b)

reverse()函数用于将列表中的元素倒序排序,注意这里的不是降序排序,而是将原来列表元素的顺序颠倒过来。

元组

相比列表,元组内的元素不允许修改

(‘t’, ‘o’, ‘o’, ‘t’, ‘h’)

虽然元组中的元素不能删除,但是可以使用del语句来删除整个元组

由于元组中的元素是不能修改的,即每个元素的指向是永远没有改变的,除非元组中含有可变类型的数据,比如元组中的元素是一个列表时。
可以通过对元组连接组合,即将两个元组组合在一起形成一个新的元组

字典

a = {"a": 2, "b": 3}
b = dict(name="zhangsan", sex="nan", age=18)

字典中的元素是无序的,键可以用字符串、数字或元组,但不能使用列表,虽说每次打印同一个字典是有序的,但它还是无序的。

通过使用花括号,即{}来创建字典,其中可以包含多个键值对(键-值),键和值之间使用冒号:连接,且多个键值对使用逗号相隔。
若花括号内没有键值对,则会创建一个空字典,若字典中由重复键,则旧键会被覆盖。

访问与元素

print(b['name'])  #对
print(b[0]) #错

通过指定新键添加字典元素或使用update()函数来添加字典元素。

b = dict(name="zhangsan", sex="nan", age=18)
print(b)
b["tel"] = 123456
print(b)
b.update(address="beijing")
print(b)

结果

{'name': 'zhangsan', 'sex': 'nan', 'age': 18}
{'name': 'zhangsan', 'sex': 'nan', 'age': 18, 'tel': 123456}
{'name': 'zhangsan', 'sex': 'nan', 'age': 18, 'tel': 123456, 'address': 'beijing'}

可以通过使用pop()函数,对字典中指定元素的键值进行删除。
使用popitem()函数随机删除字典中的元素。
使用clear()函数,清空字典中的所有元素

另外也可以通过del语句来删除字典中单个的元素或清空所有。

通过对字典中已存在的元素进行更改从而修改字典元素,它和字典的添加差不多,也是可以通过指定键或者update函数来进行修改。

通过keys()、values()、items()函数来返回相应的键、值、元素,它们都会分别返回dict_keys、dict_values、dict_items相应的对象,且这些对象是可以迭代的,所以可以通过for循环将器遍历输出。

通过使用keys()函数来查询字典中所有的键。

使用values()函数来查询字典中所有的值。

使用items()函数来查询字典中的所有元素。

集合

集合类型是无序的,其中元素不可重复,它与数学学科里面的集合一样。无序,无序的意思就是你每次打印同一个集合,返回的顺序都是不一样的。

创建集合

可变集合和字典的一般创建方法一样,也通过花括号,即{}来创建一个集合,多个元素通过逗号分隔。
或者可以使用set()函数来创建集合,也可以直接使用set()来创建一个空集合,而不能使用花括号,否则会创建一个空字典。

不可变集合通过使用frozenset()函数来创建,该集合中的元素不可改变。

a = {1, 2, 3, 4, "zhang", "c"}
print(type(a))
print(a)
b = set()
print(type(b))
c=set(("t",1,2,3,4,"c")) # 这种方式编辑器都不推荐啊
print(type(c))
print(c)
<class 'set'>
{1, 2, 3, 4, 'c', 'zhang'}
<class 'set'>
<class 'set'>
{1, 2, 3, 4, 'c', 't'}

可以通过add()函数update()函数可变集合中添加集合元素,add()函数和update()函数分别是添加一个元素、添加多个元素,且add()含是将元素作为一个整体添加到集合中,而update()函数是将元素拆成多个元素来添加。

a = {2, 3, 4, "zhang", "c"}
a.add(1)
print(a)
b = (1, 2, 3)  # add一个元组,按照元组格式添加到set
a.add(b)
print(a)
c = (4, 5, 6)
a.update(c)  # update一个元组,按照元组内元素各个添加到set
print(a)

'''
c=[2,2,3]
a.add(c)
报错:TypeError: unhashable type: 'list'
python 的集合set中的元素是唯一的,即哈希表(hashable)类型,因此集合中的元素必须是不可变类型
而list,dict, set是可变类型, number,string,tuple是不可变类型
'''

结果

{1, 2, 3, 4, 'c', 'zhang'}
{1, 2, 3, 4, (1, 2, 3), 'c', 'zhang'}
{1, 2, 3, 4, 5, 6, (1, 2, 3), 'c', 'zhang'}

可以通过remove()函数、discard()函数来删除可变集合中的指定元素,其区别是discard()函数对不存在集合中的元素进行删除时不执行任何操作,而remove()函数会报错。pop()函数用于删除可变集合中的随机元素。也可以通过clear()函数来清空可变集合中的所有元素或del语句直接删除集合。

总结

类型元素是否可变元素是否唯一元素是否有序
列表可变不唯一有序
元组不可变不唯一有序
字典可变key唯一,value不唯一无序
集合(可变)可变唯一无序
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值