python学习笔记(二)--集合框架

1.list

# 列表 元素可以是任意类型组合,有序
list = ['hill','daniel','david','len','hank']
# 获取列表长度,如果列表中没有元素,则列表的长度为0
print(len(list))
# 获取第一个元素
print(list[0])
# 获取倒数第一个元素
print(list[-1])
# 向列表里面添加元素
list.append("bobo")
list.append(1)
print(list)
# 弹出(删除)列表里面最后一个元素
list.pop()
print(list)
# 删除指定位置的元素list.pop(i)
# 删除第三个元素
list.pop(2)
print(list)
# 替代指定位置的元素
list[0] = 'wangqiang'
print(list)
# 列表作为元素添加,类似于二维数组
list.append([1,2,3])
print(list)
# 取"二维数组"中的元素
print(list[-1][-1])
## 会抛出下标越界异常
list[10] = "1"
print(list)


## 总结:
## 1.列表是有序的
## 2.添加元素: list.append()
## 3.删除指定位置元素: list.pop(i),不传参默认删除最上面的元素(即末尾元素)
## 4.替代指定位置元素: list[i] = ""
## 5.获取元素:list[i],其中i若为负数则代表获取倒数第几个元素

2.tuple

# 另一种list,有序,一旦确定元素就不可变(指向不可变,如果元素为list,则可改变list里的元素);没有append()和pop()等改变元素的方法
#定义
t = (1,3,4)
print(t[-1])
print(t)
# 定义一个元素的tuple时,加上","
# 这样表示数字1
t1 = (1) 
print(t1)
# 一个元素的tuple
t2 = (1,)
print(t2)
print(t2[-1])
t3 = ([1,3,4],)
print('t3 =',t3)
t3[0][-1] = 1000
print('t3 =',t3)
## 会抛出异常,tuple不支持改变元素的操作
## t[0] = 1
## 利用list初始化tuple
t4 = tuple([1,3,4])
print(t4)
print(t4[-1])


## 总结: 
## 1. tuple 即不可操作元素的list,但是如果其中有元素为list,则可操作该list

3.dict

## dict key-value形式存储值 类似其他语言的map
names = {"Hill" : 12, "tom" : 13}
print(names)
## 取值方式1,如key不存在,则会抛出异常
print("HIll:",names["Hill"])
## 取值方式2,如key不存在,则返回none,可指定返回结果(key不存在时,才会返回指定的结果)
print("tom:",names.get("tom",-1))
## 修改key对应的value
names['Hill'] = "bobo"
## 可通过in判断key是否存在
print("Hill" in names) ## 返回True
print("hahah" in names) ## 返回False

## 类别下数组是否可以这样判断(实验结果当然是可以的哦)
list = [1,3,4]
print("#### list in ####")
print(1 in list) ## 返回True
print(2 in list) ## 返回False

## 向dict中添加元素
names["haha"] = "111"
print(names)
## 删除元素,key-value同时删除
names.pop("haha")
print(names)
## 输出key集合
print(len(names.keys()))
## 输出value集合
print(names.values())
## 遍历key集合
for i in names.keys() : 
	print(i)

## 测试tuple做key
t = (1,)
names[t] = "tuple"
print(names)

## 总结:
## 1.添加元素: dict[key] = value
## 2.删除元素: dict.pop(key)
## 3.取key集合: dict.keys()
## 4.取value集合: dict.values() 
## 5.由于是用hash算法计算存储位置的,故key必须为不可变的元素,python中字符和数值型都为不可变,list为可变不可作为key,但tuple可以

4.set

## set集合,类似dict,但只存储key;key 不可重复
s = {1,2,3,4}
print(s)
print("s的长度:",len(s))
## list 
list = ["Hill","wangqiang"]
s = set(list)
print(s)
print("Hill" in s)
print("hill" in s)
## add()方法添加元素
s.add("uzi")
## 重复添加不起作用
s.add("uzi")
print(s)

## remove()方法删除元素
s.remove("uzi")
## key 不存在时,会报错;可以用in 判断是否存在key
if "uzi" in s :
	s.remove("uzi")
print(s)


## 总结
## 1. 添加元素: set.add(v)
## 2. 删除元素: set.remove(v)
## 3. set里面的元素是无序的

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值