【python】关于列表去重的问题

#可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')

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值