# is和==的区别'''
is 判断的是内存地址的区别
== 判断是是值的区别
'''
list_1 =[1,2]
list_2 =[1,2]print(list_1 is list_2)# 判断的是内存地址print(list_1 == list_2)# 只判断值是否相等
a ='你好'
c ='好'
b ='你'+ c # 如果通过变量拼接 那么 a和b的值虽然相等 但是地址不同了print(id(a))print(id(b))print('你好'== a)print('你好'== b)print('你好'is a)print('你好'is b)
不同的三位数
# 1,2,3,4,5 能组合成多少个不相同且无重复的3位数# 方法一 因为位数不同 不可能重复 直接循环即可得结果
nums ={1,2,3,4,5}
num =0for i in nums:for j in nums:for k in nums:
num +=1print(str(i)+str(j)+str(k))print(num)# 方法二 直接遍历所有三位数值 然后将每个数的三位数去重 减去 集合1,2,3,4,5 只要是空 则是满足条件的
nums ={1,2,3,4,5}list=[]for i inrange(100,1000):
s =set(int(j)for j instr(i))ifnot s-nums:list.append(s)print(len(list))
fromkeys
v =dict.fromkeys(['k1','k2'],[])# 把第一个列表里面的数值当成字典的key 后面的当成它里面的valueprint(v)print(id(v['k1']))print(id(v['k2']))'''
他们的内存地址是同一个地方
'''
# 如何实现"1,2,3" 变成 ['1', '2', '3']
s ='1,2,3'print(list(eval(s)))# 将 s =》 [1,2,3]print(s.split(','))# 将 s =》 ['1','2','3']# 如何实现['1', '2', '3'] 变成 [1,2,3]
d =['1','2','3']# 方法一 先拼接成字符串 再通过 eval转换成 元组包数值 再list转换为列表print(list(eval(','.join(d))))# 方法二 列表推导式
d =[int(i)for i in d]# 将 d =》 [1,2,3]print(d)
一个元素的元组
b =(1)print(type(b))
c =(1,)# 加上逗号就是元组 不加则就是数值型print(type(c))