#可hashable的类型,其中的类型是不可变的,比如字符串和元组,或者是常量,比如是int,float
字符串可hashable
# 字符串增加或者删数据只能通过
s = 'abc'
# 增加数据
s = '1'+s[0:]
# 不能直接这样修改数据,报错,'str' object does not support item assignment
# s[0] = 1
# s ="1243"
# s1= "6" +s[1:]
# s1
tuple可hashable
t = (1,2,3,4)
# wrong,不能通过直接赋值来修改数据
# t[0] = 7
# t
# right
# 更改tuple里的数据,这里(7,)写成这样是表示这里是一个数据类型,而不是一个数字
t1 = (7, ) + t[1:]
t1
# set可以用一维数组初始化,初试就是把变量赋为默认值,这个我暂时还不太懂,先放在这里
一维数组去重:
直接用set就可以:比如list1=["a","a"] set(list1);list1=[1,1,2,2] set(list1);
二维数组去重:
set类型是可hashable,先把二维数组里的元素变成tuple就能直接去重;
list2=list(set([tuple(t) for t in list4]))
list4 = [[1,2,3],[1,2,3]]
for t in list4:
print(set(tuple(t)))
list5 = [(1,2,3),(1,2,3)]
set(list5)
关于in;
# 元组
tup=(1,2,3,4)
# 列表
list=[1,2,3,4]
# 集合
sets={1,2,3,4}
# 字典
dicts={'a':1,'b':2}
if 1 in tup:
print('元组内有1')
if 1 in list:
print('列表内有1')
if 1 in sets:
print('集合内有1')
if 'a' in dicts.keys():
print('字典内有a')
if 'a' in dicts:
print('字典内有a')
if 1 in dicts.values():
print('字典values有1')