python开发【三】python基本数据类型之列表、元组和字典
一、Python基本数据类型之列表
1.什么是列表?
列表(list)是python的内置的数据类型。列表跟字符串一样,都是序列类型,故与字符串有许多共同的特点。
序列有两种:list(列表)和tuple(元组)。
不同点:
- 列表可以包含其他元素,如嵌套列表,元组,字典,字符串,整数,布尔值等。实际上列表可以包含任意类型的元素序列。
- 列表是可变类型。字符串一旦创建,就不可修改,因此字符串是一种特殊的元组。列表恰恰相反,可以有多种方法来改变列表。
2.创建列表
创建列表使用[]号来建立列表。
a = [1,2,'a',['12','d',3],'cxf']
3.操作列表
3.1 索引和切片
索引
>>> a = [1,'a',[2,3,'b'],('x','y')]
>>> a[0]
1
>>> a[2]
[2, 3, 'b']
>>> a[-1]
('x', 'y')
切片
>>> a = [1,'a',[2,3,'b'],('x','y')]
>>> a[0:3]
[1, 'a', [2, 3, 'b']]
>>> a[2][1:-1]
[3]
>>> a[2][1:]
[3, 'b']
4.列表方法
1.增
增加列表中的元素,有2种方法,一种是在列表尾部增加append(),二种是通过索引位置插入insert()。
a = [1,2,3,'a','b']
a.append('c')
a.append('d')
print(a)
输出:
[1, 2, 3, 'a', 'b', 'c', 'd']
a = [1,2,3,'a','b'] a.insert(0,'hello') #在指定位置插入 print(a) 输出: ['hello', 1, 2, 3, 'a', 'b']
2.删
删除列表元素 有pop(self,index),del list[索引] ;remove('元素')
pop()不加参数,默认删除列表中最后一个元素,参数必须是索引,删除索引位置元素
a = [1,2,3,'a',['x','y','z'],'b'] a.pop() print(a) a.pop(1) print(a) 输出: [1, 2, 3, 'a', ['x', 'y', 'z']] #默认删除最后一个元素 [1, 3, 'a', ['x', 'y', 'z']] #删除指定索引位置元素
del list[]
a = [1,2,3,'a',['x','y','z'],'b'] del a[0] print(a) 输出: [2, 3, 'a', ['x', 'y', 'z'], 'b']
remove()
a = [1,2,3,'a',['x','y','z'],'b'] a.remove(['x','y','z']) print(a) 输出: [1, 2, 3, 'a', 'b']
3. 改
a = [1,2,3,'a',['x','y','z'],'b'] a[0] = 'xyz' print(a) 输出: ['xyz', 2, 3, 'a', ['x', 'y', 'z'], 'b']
4.查
a = [1,2,3,'a',['x','y','z'],'b'] print(a[3]) 输出: a
列表是有序的,列表的元素可以被修改。
二、Pyrhon基本数据类型之元组
元组跟列表类似,但是元组的元素不能被修改。
元组表达式: tu = ('a','b',2)
1.索引
tu = (1,2,3,'a','b',('x','y'),4)
print(tu[2])
输出:
3
2.切片
tu = (1,2,3,'a','b',('x','y'),4)
v = tu[2:-1]
print(v)
输出:
(3, 'a', 'b', ('x', 'y'))
3.for 循环
tu = (1,2,3,'a','b',('x','y'),4)
for item in tu:
print(item)
输出:
1
2
3
a
b
('x', 'y')
4
4. 字符串 列表 元组 转换
s = 'shgsdfgd0'
li = ['abc',123]
tu = (1,2,3,'a','b',('x','y'),4)
#str转list
list(s)
输出:
['s', 'h', 'g', 's', 'd', 'f', 'g', 'd', '0']
#list转str
str(li)
#str转tuple
v = tuple(s)
print(v)
输出:
('s', 'h', 'g', 's', 'd', 'f', 'g', 'd', '0')
#list转tuple
v1 = tuple(li)
print(v1)
输出:
('abc', 123)
#元组转list
tu = (1,2,3,'a','b',('x','y'),4)
v = list(tu)
输出:
[1, 2, 3, 'a', 'b', ('x', 'y'), 4]
#元组转str
v = '_'.join(tu)
print(v)
输出报错: #原因是元组中有字符串,不能通过拼接方式
TypeError: sequence item 0: expected str instance, int found
元组也是有序的。
获取元组嵌套元组的元素
tu = (11,'22',(11,22),[(33,44)],True,'abc','d') v = tu[3][0][0] print(v) 输出: 33
元组的一级元素不可修改/删除/增加,元组中的列表元素可以修改
tu = (11,'22',(11,22),[(33,44)],True,'abc','d') tu[3][0] = 'xyz' print(tu) 输出: (11, '22', (11, 22), ['xyz'], True, 'abc', 'd')
三、Pyrhon基本数据类型之字典
创建字典对象
info = {'k1':'v1', #键值对
'k2':'v2'
}
字典的vlue可以是任意值
info ={
'k1':18,
'k2':True,
'k3':[
11,
[],
(),
22,
33,
{
'kk1':'vv1',
'kk2':'vv2',
'kk2':'vv3',
}
]
}
print(info)
输出:
{'k1': 18, 'k2': True, 'k3': [11, [], (), 22, 33, {'kk1': 'vv1', 'kk2': 'vv3'}]}
列表、布尔值、字典不能作为字典的key,vlue值任何数据类型都可以。
字典无序,字典通过索引方式查找值
k = info['k3'][5]['kk2'] print(k) 输出: vv2
默认for循环输出字典的key info.keys(),输出值:info.items()
浙公网安备 33010602011771号