python编程(3):数据结构

1列表(List)

Python中列表是可变的,这是它区别于字符串和元组的最重要的特点,一句话概括即:列表可以修改,而字符串和元组不能


将列表当做堆栈使用

stack=[3,4,5]
stack.append(6)
stack.append(7)
print(stack)  #3,4,5,6,7
print(stack.pop()) #7
print(stack)       #3,4,5,6
print(stack.pop()) #6
print(stack)       #3,4,5

将列表当作队列使用

from collections import deque
queue = deque(["Eric","John","Micheal"])
queue.append("Terry")
queue.append("Graham")
print(queue)
print(queue.popleft())
print(queue)
print(queue.popleft())
print(queue)

https://docs.python.org/3/library/stdtypes.html#list  list ndefinition
https://docs.python.org/3/tutorial/datastructures.html#more-on-lists  class list api


2元组(Tuple)

#元组和序列
t = 12345,54321,'hello!'
print(t[0]) #12345
print(t)    #(12345, 54321, 'hello!')
u = t,(1,2,3,4,5)  #((12345, 54321, 'hello!'), (1, 2, 3, 4, 5))
print(u)

https://docs.python.org/3/library/stdtypes.html#tuples


3集合(Set)

集合是一个无序不重复元素的集,基本功能包括关系测试和消除重复元素

创建一个空集合,你必须用set()而不是{},后者创建一个空的字典

basket = {'apple','orange','apple','pear','orange','banana'}
print(basket)  # show that duplicates have been removed
print('orange' in basket)
print('hello' in basket)

a = set("abracadabra")
b = set("alacazam")
print(a)  #unique letter in a
print(b)  #unique letter in b
print(a-b) #letters in a not in b
print(a | b ) # letters in  a or b
print(a & b)  # letters in a and b
print(a ^ b)  # letters in  a or b but not both
print('K' in a ) # whether 'K' in  a set
print({x for x in 'abracadabra' if x not in 'abc'}) #集合也支持推导式
https://docs.python.org/3/tutorial/datastructures.html#sets

4词典(Dictionary)

序列是以连续的整数为索引,与此不同的是,字典以关键字为索引,关键字可以是任意不可变类型,通常用字符串或数值。
理解字典的最佳方式是把它看做无序的键=>值对集合。在同一个字典之内,关键字必须是互不相同。
一对大括号创建一个空的字典:{}

tel = {'jack':4098,'sape':4139}
tel['guido']=4127
print(tel)
print(tel['jack'])
del tel['sape']
print(tel)
print(list(tel.keys()))
print(sorted(tel.keys()))
print('jack' in tel)
print('guido' not in tel)

https://docs.python.org/3/tutorial/datastructures.html#dictionaries


参考链接

https://docs.python.org/3/tutorial/datastructures.html#data-structures

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值