Python数据类型(列表、元组)

一、列表 list

列表用 [ ] 标识,其元素可以是不同的数据类型如数字、字符串、布尔值等,列表允许修改

创建列表

创建列表只需要用 [ ] 把元素括起来,元素之间用逗号隔开 

list = [] # 创建空列表
list = [3, 'a', True] # 创建包含数字、字符串、布尔值的列表
列表索引或切片
  • 可以通过列表索引访问列表单个元素,列表元素位置与其索引值对应关系如下表
  • 可以通过列表切片访问列表多个元素
listfirstsecondthirdfourth
顺序0123
逆序-4-3-2-1
# 索引
list[0] # 索引列表第一个元素
list[-3] # 索引列表倒数第三个元素

# 切片
list[0:2] # 切片列表索引0~2元素(不含2)
list[0:] # 切片从第一个元素到列表结束
list[:2] # 切片从列表开始到索引为2元素(不含2)
list[:] # 切片整个列表元素
list[0:-1] # 切片列表索引为0到索引-1之间元素(不含-1)
list[::-2] # 逆序切片,每2个(隔1个)提取一个元素
list[::2] # 顺序切片,每2个(隔1个)提取一个元素
 列表修改

结合列表的索引或切片可以对列表元素进行修改

list[0] = 'love'
list[0:2] = 1, 2

可以利用列表对象的方法来对列表进行修改

1. 在列表末尾添加单个元素的方法list_name.append(item);
2. 在指定索引前插入单个元素的方法list_name.insert(index, item);
3. 在列表末尾拼接另外列表的方法list_name.extend(list_1);
4. 翻转列表本身的方法list_name.reverse(); 

list = [3, 'a', True]; print(list)
# list_name.append(item)方法
list.append(4); print(list)

# list_name.insert(index, item)方法
list.insert(1, 'b'); print(list) # 在索引1之前插入'b'

# list_name.extend(list_1)方法
list.extend(['d', 'c']); print(list) # 用list_name.extend(list_1)拼接列表
print(list + ['d', 'c']) # list + list_1,用 + 拼接列表

# list_name.reverse()方法
list.reverse(); print(list)
列表排序

列表对象的sort()方法是在原地排序,会改变原列表;使用python内置sorted()函数,则不会改变原列表

# list_name.sort()
list = [3, 2, 1]
list.sort(reverse=True) # list_name.sort()会改变原列表
print(list) # 输出 [3, 2, 1]

# sorted()
list_1 = [3, 2, 1]
list_2 = sorted(list_1)
print(list_1) # 输出 [3, 2, 1]
print(list_2) # 输出 [1, 2, 3]
其他列表常用操作
列表操作说明示例
len返回列表长度len(x)
del删除列表单个元素或切片元素del x[0:2]
*列表重复x = [1,2] * 3
+列表拼接[1, 2] + ['a', 'b']
min/max/sum返回列表最小/大值/求和min(x) max(x) sum(x)
index返回某值的索引x.index('a')
count对某值在列表出现次数统计x.count('a')
in/ not in判断某值是否是列表元素

1 in x

1 not in x

二、元组 tuple

元组用 ( ) 标识,元组和列表类似,是复合数据类型。不同的是,元组不允许修改,元组常用于作为字典的键

t = () # 创建空元组
t = (1,) # 创建含单个元素的元组,注意用逗号标识
t = (1, 'a', True) # 创建多个元素元组

元组创建后,就能像列表一样使用,几乎列表所有的操作对于元组都适用。最大的区别在于元组不支持修改

t = ('a', 'b', 3)
t[0] = 1 # 将产生错误

元组和列表可以相互转换

list((1, 2, 3)) # list()函数把元组转换成列表
tuple([1, 2,3]) # tuple()函数把列表转换成元组

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值