Python中List, Tuple, dict, set 的比较

Python中List, Tuple, dict, set 的比较

参照廖雪峰官方网站链接: 廖雪峰Python教程.

1. List

list是一种有序的集合,可以随时添加和删除其中的元素。

列出班里所有同学的名字,就可以用一个list表示:

下面以一个例子来说明一些List的操作

classmates = ['Wang', 'Cao', 'Tian','Sun'] # 创建一个list
len(classmates) # list的长度

# 用索引来访问list中每一个位置的元素,记得索引是从0开始的
classmates[0]
classmates[1]
classmates[2]
classmates[3]

classmates[4] # IndexError: list index out of range

# 除了计算索引位置外,还可以用-1做索引,直接获取最后一个元素:
classmates[-1]
classmates[-2]
classmates[-3]
classmates[-4]

classmates[-5] # IndexError: list index out of range

# list 添加删除元素的一些操作
classmates.append('Lin') # 把元素插入到list末尾
classmates.insert(1, 'Yu') # 把元素插入到索引号为 1 指定的位置
classmates.pop() # 删除末尾的元素
classmates.pop(1) # 删除索引为 1 的元素

classmates[1] = 'Zhang' # 直接赋值给对应的索引为 1 位置

# list元素也可以是另一个list, 这里s可以看成是一个二维数组
s = ['python', 'java', ['asp', 'php'], 'scheme']
s [2][0] # element 'asp'
s [2][1] # element 'php'

2. Tuple

tuple和list非常类似,但是tuple一旦初始化就不能修改。

下面以一个例子来说明一些tuple的操作

classmates = ('Wang', 'Cao', 'Tian','Sun') # 创建一个tuple

# classmates这个tuple不能变了,它也没有append(),insert()这样的方法。
# 其他获取元素的方法和list是一样的

classmates[0]
classmates[1]
classmates[2]

t = (1,) # 定义只有一个元素的 tuple 时必须要加逗号

# “可变”的tuple。 在tuple里插入一个list,可以实现“可变”的tuple
t = ('a', 'b', ['A', 'B'])
t[2][0] = 'Wang' 
t[2][1] = 'Sun'

3. dict

dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度。下面例子将介绍一些dict的一些基本操作

d = {'Wang': 100, 'Sun': 90, 'Cao': 85} # 创建一个dict
d['Wang'] # 根据 key(Wang) 查找其对应的值 
d['Tian'] = 60 # 往dict里插入新的值
d['Wang'] = 70 # 用新的值替代 key(Wang) 对应的值

'Lin' in d  # 判断key是否存在
d.get('Lin')

d.pop('Wang') # 删除key和其对应value 

4. set

set和dict类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在set中,没有重复的key。

要创建一个set,需要提供一个list作为输入集合:

s = set([1, 2, 3])
s

s = set([1, 1, 2, 2, 3, 3]) # 重复的元素在set中将会被过滤掉
s

s.add(4) # 添加新的key到set中。可以重复添加,但不会有效果。

s.remove(4) # 删除set中key的元素

## set可以看成数学意义上的无序和无重复元素的集合,因此,两个set可以做数学意义上的交集、并集等操作
s1 = set([1, 2, 3])
s2 = set([2, 3, 4])

s1 & s2
s1 | s2

Overview

definecharacteristicOpearation
Listx = [‘Michael’, ‘Bob’]can be modyfiedappend(), insert(), pop()
Tuplex = (‘Michael’, ‘Bob’)can not be modyfiedNone
dictd = {‘Michael’: 95, ‘Bob’: 75, ‘Tracy’: 85}key → valued[‘Adam’] = 67 d[‘Micheal’] = 88 d.get(’Adam’) d.pop(’Bob’)
sets1 = set([1, 2, 3])only key, no Value. No repeated elementss.add(4) s.remove(4)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值