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}