Python数据分析[1] - python基础

本文详细介绍了Python的基础数据类型,包括不可变的元组、可变的列表、字典和集合。讲解了它们的特点、操作方法以及如何进行元素的增删改查。此外,还探讨了列表排序、字典更新、集合运算等高级用法,是学习Python数据结构的实用指南。
摘要由CSDN通过智能技术生成

Python基础

数据类型

tuple

tuple是一个固定长度,不可修改的对象

tup = (1, 2, 3)
tup
(1, 2, 3)

tuple可以tuple中的一个元素

nested_tup = (4, 5, 6), (7, 8)
nested_tup
((4, 5, 6), (7, 8)) 

tuple可以将一个Sequence转换为tuple

tuple([4, 0, 2]) 
(4, 0, 2)
tuple('string')
('s', 't', 'r', 'i', 'n', 'g')

tuple内的元素不可以修改,但是可以使用方法append添加元素

tup = tuple(['foo', [1, 2], True])
tup[1].append(3)
tup
('foo', [1, 2, 3], True)
tuple拆包

如果使用tuple-like表达的一系列元素来分配变量,该变量会被拆解开

tup = 4, 5, (6, 7)
a, b, (c, d) = tup
d
7

在python中,可以使用语法*rest来表示剩余的所有元素

tup = 4, 5, (6, 7)
a, *rest = tup
a
Out[41]: 4

rest
Out[42]: [5, (6, 7)]
tuple方法

count可以用来计算tuple中某个元素的数量

a = (1, 2, 2, 2, 3, 4, 2)

a.count(2)
Out[45]: 4

List

与tuple相反,list的长度是可变的

tup = (1, 2, 3)
a = list(tup)

a
Out[58]: [1, 2, 3]

a[1] = 0
a

Out[60]: [1, 0, 3]
list方法

sort方法可以用不同的方式对list进行排序

a = [2,3,1,4,5]
a.sort()
a
Out[66]: [1, 2, 3, 4, 5]
a = ['康德','苏格拉底','黑格尔','亚里士多德']
a.sort(key = len)
a
Out[69]: ['康德', '黑格尔', '苏格拉底', '亚里士多德']
list分割

list[x:y] 可以从第x个元素开始,到第y个元素之前

seq = [1, 2, 3, 4, 5, 6, 7]
seq[2:4]
Out[74]: [3, 4]

负数可以从末尾开始计数

seq[-4:-2]
Out[77]: [4, 5]

使用list[::x]可以对list进行倒序或者隔元素提取等操作

seq[::2]
Out[78]: [1, 3, 5, 7]
seq[::-1]
Out[79]: [7, 6, 5, 4, 3, 2, 1]

dict

dict是python中最重要以及最常用的数据类型之一,dict也被常叫为hash map(哈希表)associative array
dict的概念为数据中存在一一对应的key和value

d1 = {'a':1, 'b':[2, 3], 'c':(4, 5, 6)}

d1['c']
Out[84]: (4, 5, 6)

如果直接assign一个dict中不存在的key,则会添加一个元素

d1[4] = 4

d1
Out[86]: {'a': 1, 'b': [2, 3], 'c': (4, 5, 6), 4: 4}

dict中的元素同样可以修改

d1[4] = 5

d1
Out[88]: {'a': 1, 'b': [2, 3], 'c': (4, 5, 6), 4: 5}
dict方法

方法del()和pop()可以删除一个元素,但是pop则会返回该key的value

d1
Out[88]: {'a': 1, 'b': [2, 3], 'c': (4, 5, 6), 4: 5}

result = d1.pop(4)

result
Out[90]: 5

d1
Out[91]: {'a': 1, 'b': [2, 3], 'c': (4, 5, 6)}

del d1['b']

d1
Out[93]: {'a': 1, 'c': (4, 5, 6)}

update方法可以更行数据

d1.update({'a': 2, 'b': 2})

d1
Out[96]: {'a': 2, 'c': (4, 5, 6), 'b': 2}

方法keys和values则可以提取dict中的数据

d1.values()
Out[97]: dict_values([2, (4, 5, 6), 2])

d1.keys()
Out[98]: dict_keys(['a', 'c', 'b'])

使用zip方法可以将两个sequence组成为dict

mapping = dict(zip(range(5), reversed(range(5))))

mapping
Out[102]: {0: 4, 1: 3, 2: 2, 3: 1, 4: 0}

set

set是一个无序、去重的集合。

set([2,2,1,3,3])
Out[103]: {1, 2, 3}

set与set可以进行交集并集等运算

a = set([1,2,3])
b = set([2,3,4])

a.union(b)
Out[106]: {1, 2, 3, 4}

a|b
Out[107]: {1, 2, 3, 4}

a.intersection(b)
Out[108]: {2, 3}

a&b
Out[109]: {2, 3}

其他set方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值