python中组合数据的操作,指针指向的内容属于第


2022-09-26

组合数据类型:

 列表

    字典

    集合

    元组

拷贝:

    deep(深拷贝)

    shallow(浅拷贝)

    区别:例如,文件中有一个指针指向另一块存储空间,如果是深拷贝则将指向的那一块文件内容也全部拷贝,如果是浅拷贝那么不需要将指针指向的内容进行拷贝,只拷贝第一层级的内容。指针指向的内容属于第二层级。

列表的查找与排序:

    (1)查找

        list.index(key )#其中key为列表中的值

# 查找
list1 = ['s','l','m','i']
try:
    print(list1.index('i')) # 查询的是key
except Exception as e:
    print(e)

    (2)排序:

        list.sort() #存放的结果仍然在list中,之后打印它

'''排序'''
list1 = ['s','l','m','i']
list1.sort()
print(list1)
help(list.sort) #参看列表排序函数的说明
# 不能直接打印"print(list1.sort())"
# 使用help查询,切记不能使用小括号,查询结果为稳定排序

     (3)排序:

        sorted(list)

'''列表排序'''
list1 = ['s','l','m','i']
print(sorted(list1))

   (4)反转

list1 = ['s','l','m','i']
'''反转'''
list1.reverse()
print(list1)

 

元组(tuple):

    说明:

        元组的值是不可以修改的,表现在元组的删除。如果要删除,则是将整个元组都删除.

        元组是写在()内的。

 

    元组的创建:

        tuple() # 空的元组

        非空的元组;

            使用(),里面放入数据,中间使用逗号隔开。

t = tuple('string')
print(t)
# 注意,元组里面如果要传入字符串类型,则只能传一个字符串整体,不能传多个字符串。否则会报错
'''元组的创建——方式二'''
t = (1,2,3)
print(t)

 

  元组的访问:

        可以通过索引访问,也可以直接访问元组变量。

 

'''元组的访问'''
t = tuple("1,2,3") # 啊啊啊,简直了,元组内部传入的值,必须加上"",要不然会报错
print(t[0])
print(t)

 

    元组的删除:

        使用del

del t
print(t)

    t是指上面创建的t。

字典(dict):

    说明:

        字典是以键值对形式表现的集合,外面是一个{},字典无序、可变,列表有序,元组有序、不可变。

        but 字典中有索引,是数据本身自带的。

    字典的创建:

        使用{},中间放置”key“,"value",例如:

'''字典的创建——方式一'''
dict1 = {'k':25,'m':6,'a':29}
print(dict1)
'''字典的创建——方式二'''
dict2 = dict({'l':'10','o':'20'})
print(dict2)

  字典的访问:

'''字典的访问'''
for key,value in dict1.items():
    print(key)
    print(value)
    # 在for循环中,注意要输出的是临时变量,而不是下面的,如果要用到下面的语句,要单独输出
print(dict1.values())
print(dict1.keys())

  

# 调用item()函数时,返回的是一个列表中包含的元组对象。为可迭代对象
for item in dict1.items():
    print(item)

  字典的添加与修改:

"""字典的添加与修改"""
dict1['p'] = 52
print(dict1)
dict1['k'] = 26
print(dict1)

    添加一组数据,如果该字典中有对应的key,那么此时的添加为修改,会覆盖掉原来元素的value值;如果没有对应的key,那么为字典的添加。

  字典的删除:

'''删除字典元素'''
"""方式一"""
# del dict1['k']
# print(dict1)
"""方式二——指定删除"""
# dict1.pop('k')
# print(dict1)
"""方式三——随机删除"""
# dict1.popitem()
# print(dict1)
"""方式四——全部删除"""
# del dict1
# print(dict1)

    使用相应的函数时,将前面的注释去掉即可。

  字典的排序:

# 按照key的值进行排序
# print(sorted(dict1.items(),key=lambda x:x[0])) 
# 按照value的值进行排序,如果是数字,默认是从小到大排序,如果是非数字,则按照ASCII码进行排序
# print(sorted(dict1.items(),key=lambda x:x[1]))
# for i in sorted(dict1.items(),key=lambda x:x[1]):
#     print(i)

 

评论关闭