python序列数据常用操作整理(持续更新)

python序列

这里指的序列,主要包括的数据类型为:列表(list)、字典(dict)、元组(tuple)、集合(set)。

序列操作

1、列表

列表拼接

(1)利用 “+” 号

a = [1,2]
b = [3,4]
c = a + b # c = [1,2,3,4]

(2)切片赋值

a = [1,2]
b = [3,4]
a[len(a):len(a)] = b # a = [1,2,3,4]

(3)extend 方法

a = [1,2]
b = [3,4]
a.extend(b) # a = [1,2,3,4]

元素插入

(1)insert 方法

指定索引位置添加

a = [1,2]
a.insert(1,999) # a = [1, 999, 2]
# a.pop(1)

(2)append 方法

末尾添加,对应删除方法 pop()

a = [1,2]
a.append(999) # a = [1, 2, 999]
# a.pop()

元素删除

(1)pop 方法

按照位置(索引)删除

a = [1,2]
a.pop() # a=[1]
b = [1,2]
b.pop(0) # b = [2]

(2)remove 方法

根据元素的值进行删除

a = [1,2]
a.remove(2) # a=[1]

元素排序

a = [5,6,7,8]

# 逆序排列
a.sort(reverse=True) # a = [8,7,6,5]

# 根据函数指定特定位置的元素排序
b = [(1,'A',3), (3,'c',9), (2,'q',6)]
b.sort(key=lambda x:x[2])
# b = [(1, 'A', 3), (2, 'q', 6), (3, 'c', 9)]

2、字典

字典生成:

(1)等式

x = dict(a=123,b=23,c='qqw123') # {'a': 123, 'c': 'qqw123', 'b': 23}

(2)利用zip函数

a = [1,2,3]
b = ['a','b','c']
c = dict(zip(a,b)) # {1: 'a', 2: 'b', 3: 'c'}

字典(按照key(键)或value(值))排序:

(1)利用 sorted 函数和 lambda 函数

x =  {1:111, 3: 99, 2: 100}
y = x.copy()

y1 = sorted(x.items(),key=lambda x:x[0])
y2 = sorted(y.items(),key=lambda x:x[1])

 # y1 = [(1, 111), (2, 100), (3, 99)]
 # y2 = [(3, 99), (2, 100), (1, 111)]

(2)利用 sorted 函数和 operator 模块

import operator

x =  {1:111, 3: 99, 2: 100}
y = x.copy()

z1 = sorted(x.items(), key=operator.itemgetter(1)) # value 升序
z2 = sorted(y.items(), key=operator.itemgetter(0), reverse=True) # key 降序

# z1 = [(3, 99), (2, 100), (1, 111)]
# z2 = [(3, 99), (2, 100), (1, 111)]

字典合并,推荐使用方法 2 或者方法 3 。

(1)方法1

a = {1:'a'}
b = {2:'223'}
c = dict(a.items() + b.items()) # c = {1: 'a', 2: '223'}

(2)方法2

a = {1:'a'}
b = {2:'223'}
a.update(b) # a = {1: 'a', 2: '223'}

(3)方法3

a = {1:'a'}
b = {2:'223'}
c = dict(a, **b) # c = {1: 'a', 2: '223'}

字典元素的删除

(1)pop 方法

c = {1: 'a', 2: '223'}
c.pop(1) # c = {2: '223'}

(2)del 方法

c = {1: 'a', 2: '223'}
del c[1] # c = {2: '223'}

3、集合

获取两个集合 的并集:

x = {1,2,3}
y = {3,4}
z = x|y # set([1, 2, 3, 4])

获取两个集合 的交集(相同的元素),两种方法:

x = {1,2,3}
y = {3,4}
z = x & y # set([3])
z = x.intersection(y) # set([3])

获取两个集合的差集:

x = {1,2,3}
y = {3,4}
z = y.difference(x)  # y中有而x中没有的元素,set([4])

4、元组

元组不可变(一级元素不可变),不支持元素删除,只能完全删除整个元组,支持索引,切片,使用 “+” 号合并,支持的函数len ,min ,max 。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值