python切片操作 当所有数据都省略时_Python3 数据结构

Python3数据结构:列表list、元组tuple、字典dict、集合set介绍及使用

整理自公众号Python那些事文章

=====================================列表===========================================================

# 创建列表(list)

li = []

li2 = [4, 5, 6]

# 用append在列表最后追加元素

li.append(1)    # li现在是[1]

# 用pop从列表尾部删除

li2.pop()        # => 6 且li2现在是[4,5]

# 把6再放回去

li2.append(6)    # li变回[4,5,6]

# 列表存取

li[0]  # => 1

# 取出最后一个元素

li2[-1]  # => 6

# 越界存取会造成IndexError

li[4]  # 抛出异常IndexError

# 列表切片 li[1, 2, 4, 3]

li[1:3]  # => [2, 4]

# 取到尾

li[2:]  # => [4, 3]

# 从头取

li[:3]  # => [1, 2, 4]

# 隔一定步长取

li[::2]   # =>[1, 4]

# 倒排列表

li[::-1]   # => [3, 4, 2, 1]

# 三个参数意义:

# li[始:终:步长]

# 用del删除任何一个元素

del li[2]   # li [1, 2, 3]

# 删除列表:

# del li

# 列表可以相加

# 注意:li和li2的值都不变,可以用li3获取到新的列表

li3 = li + li2   # => [1, 2, 3, 4, 5, 6]

# 用extend拼接列表

li.extend(li2)   # li现在是[1, 2, 3, 4, 5, 6]

# 用in测试列表是否包含值

1 in li   # => True

# 用len取列表长度

len(li)   # => 6

=====================================元组===========================================================

# 元组是不可改变的序列

tup = (1, 2, 3)

tup[0]   # => 1

# tup[0] = 3  # 抛出TypeError

# 列表允许的操作元组大都可以

len(tup)   # => 3

tup + (4, 5, 6)   # => (1, 2, 3, 4, 5, 6)

tup[:2]   # => (1, 2)

2 in tup   # => True

# 可以把元组合列表解包,赋值给变量

a, b, c = (1, 2, 3)     # 现在a是1,b是2,c是3

# 元组周围的括号是可以省略的

d, e, f = 4, 5, 6

# 交换两个变量的值

e, d = d, e     # 现在d是5,e是4

=====================================字典===========================================================

# 用字典表达映射关系

empty_dict = {}

# 初始化的字典 字典中元素排列是无序的

filled_dict = {"one": 1, "two": 2, "three": 3}

# 用[]取值, []内填key值

filled_dict["one"]   # => 1

# 用 keys 获得所有的键

list(filled_dict.keys())   # => ["three", "two", "one"]

# 用values获得所有的值。跟keys一样,要用list包起来,顺序也可能不同

list(filled_dict.values())   # => [3, 2, 1]

# 用in测试一个字典是否包含一个键

"one" in filled_dict   # => True

1 in filled_dict   # => False

# 访问不存在的键会导致KeyError

filled_dict["four"]   # KeyError

# 用get来避免KeyError

filled_dict.get("one")   # => 1

filled_dict.get("four")   # => None

# 当键不存在的时候get方法可以设置返回的默认值

filled_dict.get("one", 2)   # => 1

filled_dict.get("four", 2)   # => 2

# setdefault方法只有当键不存在的时候插入新值

filled_dict.setdefault("five", 5)  # filled_dict["five"]设为5

filled_dict.setdefault("five", 6)  # filled_dict["five"]还是5

# 字典赋值

filled_dict.update({"four":4}) # => {"one": 1, "two": 2, "three": 3, "four": 4}

filled_dict["four"] = 4  # 另一种赋值方法

# 用del删除

del filled_dict["one"]  # 从filled_dict中把one删除

=====================================集合===========================================================

# 用set表达集合

empty_set = set()

# 初始化一个集合,语法跟字典相似,无序。

some_set = {1, 1, 2, 2, 3, 4}   # some_set现在是{1, 2, 3, 4}

# 可以把集合赋值于变量

filled_set = some_set

# 为集合添加元素

filled_set.add(5)   # filled_set现在是{1, 2, 3, 4, 5}

# & 取交集

other_set = {3, 4, 5, 6}

filled_set & other_set   # => {3, 4, 5}

# | 取并集

filled_set | other_set   # => {1, 2, 3, 4, 5, 6}

# - 取补集

{1, 2, 3, 4} - {2, 3, 5}   # => {1, 4}

# in 测试集合是否包含元素

2 in filled_set   # => True

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值