集合 相关 深浅copy

‘‘‘
集合:可变的数据类型,他里面的元素必须是不可变的数据类型,无序,不重复。
     {}
‘‘‘
# set1 = set({1,2,3})
# set2 = {1,2,3,[2,3],{‘name‘:‘alex‘}}  # 错的
# print(set1)
# print(set2)
# set1 = {‘alex‘,‘wusir‘,‘ritian‘,‘egon‘,‘barry‘,}
#增
#add
# set1.add(‘女神‘)
# print(set1)
#update
# set1.update(‘abc‘)
# print(set1)
#删除

# set1.pop()  # 随机删除
# print(set1.pop())  # 有返回值
# print(set1)

# set1.remove(‘alex‘)  # 按元素
# print(set1)

#{} set()
# set1.clear()
# print(set1)  # set()

# del set1
# print(set1)

#查
# for i in set1:
#     print(i)

# set1 = {1,2,3,4,5}
# set2 = {4,5,6,7,8}
# set3 = set1 & set2
# print(set3)  # {4, 5}
# print(set1.intersection(set2))  # {4, 5}

# set1 = {1,2,3,4,5}
# set2 = {4,5,6,7,8}
# print(set1 | set2)  # {1, 2, 3, 4, 5, 6, 7,8}
# print(set2.union(set1))  # {1, 2, 3, 4, 5, 6, 7}

# set1 = {1,2,3,4,5}
# set2 = {4,5,6,7,8}
# print(set1 ^ set2)  # {1, 2, 3, 6, 7, 8}
# print(set1.symmetric_difference(set2))  # {1, 2, 3, 6, 7, 8}

# set1 = {1,2,3,4,5}
# set2 = {4,5,6,7,8}
# print(set1 - set2)  # {1, 2, 3}
# #set1独有的
# print(set1.difference(set2))  # {1, 2, 3}

# set1 = {1,2,3,}
# set2 = {1,2,3,4,5,6}
#
# print(set1 < set2)
# print(set1.issubset(set2))  # 这两个相同,都是说明set1是set2子集。

# print(set2 > set1)
# print(set2.issuperset(set1))  # 这两个相同,都是说明set2是set1超集。

#去重
# li = [1,2,33,33,2,1,4,5,6,6]
# set1 = set(li)
# # print(set1)
# li = list(set1)
# print(li)
# s1 = {1,2,3}
# print(s1,type(s1))

# s = frozenset(‘barry‘)
# print(s,type(s))
# for i in s:
#     print(i)

深浅copy

# 赋值运算
# l1 = [1,2,3]
# l2 = l1
# l1.append(‘a‘)
# print(l1,l2)

#copy
# l1 = [1,2,3]
# l2 = l1.copy()
# print(l1,l2)
# print(id(l1),id(l2))
# l2.append(‘a‘)
# print(l1,l2)

# l1 = [1,2,[4,5,6],3]
# l2 = l1.copy()
#
# print(l1,id(l1))
# print(l2,id(l2))
# l1.append(‘a‘)
# print(l1,l2)
# l1[2].append(‘a‘)
# print(l1,l2)
# print(id(l1[2]))
# print(id(l2[2]))
import copy
# l1 = [1,2,[4,5,6],3]
# l2 = copy.deepcopy(l1)
# print(l1,id(l1))
# print(l2,id(l2))
# l1[2].append(‘a‘)
# print(l1,l2)

# l1 = [1,[1],2,3,4]
# l2 = l1
# # l1[1].append(‘a‘)
# # l2 的结果是什么?
#
#
# print(l1,id(l1))
# print(l2,id(l2))
# print(l1[1] is l2[1])

# li = [‘alex‘,‘taibai‘,‘wusir‘,‘egon‘]
# for i in li:
#     print(li.index(i),i)

# for index,i in enumerate(li,1):
#     print(index,i)

原文地址:https://www.cnblogs.com/aj-AJ/p/10798599.html

时间: 2024-11-14 23:33:32

集合 相关 深浅copy的相关文章

python之集合、深浅copy、文件操作、函数初识

本节内容:集合.深浅copy.文件操作.函数初识 1.小知识点补充 2.编码二 3.集合 4.深浅copy 5.文件操作 6.函数的初识 1.小知识点补充                                                                                           1.1 小数据池====str.int 小数据池存在的意义就是节省内存 节省内存,位多个变量开辟一个共享空间(str和int) int:-5--256 int===

基础数据类型之集合和深浅copy,还有一些数据类型补充

集合 集合是无序的,不重复的数据集合,它里面的元素是可哈希的(不可变类型),但是集合本身是不可哈希(所以集合做不了字典的键)的.以下是集合最重要的两点: 去重,把一个列表变成集合,就自动去重了. 关系测试,测试两组数据之前的交集.差集.并集等关系. #关于集合和波尔值之间的苟苟且且# set ={1,2,3,4,5,True,(1,2,3),} #集合具有自动去重和去空格功能# set.add(False)# set.add(True) #打印结果显示,没有Teue,应该是集合内部的数字和元组不

day7_集合,深浅copy

一.集合 集合是无序的,不重复的数据集合,其元素为可哈希(不可变类型),但是集合本身是不可哈希(所以集合做不了字典的键).以下是集合最重要的两点: 去重,把一个列表变成集合,就自动去重了. 关系测试,测试两组数据之前的交集.差集.并集等关系. 1.集合的创建 set1 = set({1,2,'barry'}) set2 = {1,2,'barry'} print(set1,set2) # {1, 2, 'barry'} {1, 2, 'barry'} 2.集合的增 set1 = {'alex',

python之数据类型补充、集合、深浅copy

一.内容回顾 代码块: 一个函数,一个模块,一个类,一个文件,交互模式下,每一行就是一个代码块. is == id id()查询对象的内存地址 == 比较的是两边的数值. is 比较的是两边的内存地址. 小数据池: 前提:int,str,bool 1,节省内存. 2,提高性能和效率. 小数据池是什么? 在内存中,创建一个'池',提前存放了 -5 ~256 的整数,一定规则的字符串和bool值. 后续程序中,如果设置的变量指向的是小数据池的内容,那么就不会再内存中重新创建. 小数据池与代码块的关系

集合和深浅copy

集合 集合里面的元素必须是不可变的数据类型,集合本身是可变的数据类型. 集合是无序的,不重复. 1,列表去重. l1 = [1, 1, 2, 3, 4, 3, 2, 4, 5, 6] set1 = set(l1) print(set1) l1 = list(set1) print(l1) 2,关系测试. 原文地址:https://www.cnblogs.com/wangkaiok/p/9870113.html

集合及深浅copy 01

集合 #集合 可变数据类型,但是存储的元素必须是可变数据类型,无序,不重复! set1 = set({1,2,3}) #set2 = set(1,2,[2,4],{2,4}) # 错的,必须放可哈希的 print(set1) print(set2) 增 #集合的添加 set1 = set({'suidyai','kjsadfhik','ldsahf'}) set1.add('套你大象') print(set1) set2 = {'sdjka','jaksahd'} set2.update('套你

python之旅 1-29 补充内容,深浅copy

#  l1 = [111,222,333,444,555] 将索引为奇数位的元素删除. # l1 = [111,222,333,444,555] # del l1[1::2] # print(l1) 通过删除列表中的元素 # for i in range(len(l1)-1,0,-1): # if i%2==0: # del l1[i-1] # print(l1) 通过循环列表,用range指代索引位置 for i in l1: if l1.index(i)%2==0: l2.append(i)

is == id 用法, 代码块,缓存机制,深浅copy,集合

01 内容大纲 is == id 用法 代码块 同一代码块下的缓存机制 不同代码块下的缓存机制(小数据池) 总结 集合(了解) 深浅copy 02 具体内容 1.id is == id是内存地址. 你只要创建一个数据(对象)那么都会在内存中开辟一个空间,将这个数据临时加在到内存中,那么这个空间是有一个唯一标识的,就好比是身份证号,标识这个空间的叫做内存地址,也就是这个数据(对象)的id.可以利用id()去获取这个数据的内存地址. == 是比较的两边的数值是否相等. is 是比较的两边的内存地址是

is == id 的用法;代码块;深浅copy;集合

1 内容总览 is == id 用法 代码块 同一代码块下的缓存机制 (字符串驻留机制) 不同代码块下的缓存机制 (小数据池) 总结 集合(了解) 深浅copy 2 具体内容 id is == # id 获取对象的内存地址,内存地址就相当于人的身份证号,唯一且不可变 # i = 100 # s = 'alex' # print(id(i)) #1892120688 # print(id(s)) #2707107640912 # == 比较的是两边的值是否相等 l1 = [1, 2, 3] l2