Python_列表与元祖

#列表与元祖
#列表的定义
list1=[10,20,30,40,50,60]#列表里面的元素可以为纯数字
list2=["a","b","c","d","e","f"]#列表里面的元素可以为纯字符串
list3=["a",10,(1,2,3),[4,5,6],{"a":"apple"}]#列表里面可以存放数字,字符串,元祖,列表,字典
# print(list3)

#列表添加元素
#方法1append
# list1.append(70)#append方法默认在末尾添加元素
# print(list1)
#方法2insert
# list1.insert(2,80)#在指定下标的前面增加元素
# list1.insert(100,90)#如果下标超过列表最大长度,则在末尾添加元素
# print(list1)
#方法3extend方法
# list1.extend(a)#NameError: name 'a' is not defined
# list1.extend("abc")#extend方法其实是把字符串拆开,添加的列表后面[10, 20, 30, 40, 50, 60, 'a', 'b', 'c']
# list1.extend(123)#报错,int不是可迭代对象TypeError: 'int' object is not iterable
# list1.extend([1,2,3])#[10, 20, 30, 40, 50, 60, 1, 2, 3]
# list1.extend((1,2,3))#[10, 20, 30, 40, 50, 60, 1, 2, 3]
# list1.extend({"a":"apple"})#[10, 20, 30, 40, 50, 60, 'a']
# list1.extend(["a","b","c"])#[10, 20, 30, 40, 50, 60, 'a', 'b', 'c']
# print(list1)

#修改元素
# list1[2]=80#通过下标赋值,修改元素
# list3[2][0]=0 #列表里面的元祖不允许修改其中的值TypeError: 'tuple' object does not support item assignment
# list3[3][0]=3#可以通过双重下标修改子列表的值
# print(list3)

#删除元素
#方法1pop
# list1.pop()#默认删除最后一个元素
# list1.pop(1)#也可以指定下标来删除对应的元素

#方法2remove
# list1.remove(90)#根据值来删除,如果找不到会报错ValueError: list.remove(x): x not in list,
#需要遍历所有值,效率比较低,如果有多个值,只删除第一个

#方法3 del
# del list1[1]
# print(list1)

#列表的切片
# print(id(list1))#37816720
# print(list1[1:5])#列表切片不会改变原来的列表
# print(id(list1[1:5]))#37818080
#列表的翻转
# print(list1[::-1])#步长为-1
#列表的排序
# print(list1.sort())#None
# list1.sort()#默认升序
# list1.sort(reverse=True)#降序排列
# print(list1)

#元祖
#元祖和列表非常相似,都可以采用下标和切片,只是元祖属于不可变对象,不能修改其值
tuple1=(1,2,3)#(1, 2, 3)
# tuple2=("a","b","c")#('a', 'b', 'c')
tuple3=("a",1,(1,2),[1,2],{"a":"apple"})#('a', 1, (1, 2), [1, 2], {'a': 'apple'})元祖可以放数字,字符串,元祖,列表,字典
# print(tuple3)
# tuple4=(1)#括号表示优先级,如果元祖里面只有一个元素,后面需要加,号
# print(tuple4)
# print(type(tuple4))#<class 'int'>
# tuple5=(1,)
# print(tuple5)
# print(tuple1[1])# 使用下标获取值
# tuple1[1]=100#元祖属于不可变对象,不能改其值TypeError: 'tuple' object does not support item assignment
tuple3[3][-1]=30#如果元祖中有子列表,那么子列表的值是可以修改的('a', 1, (1, 2), [1, 30], {'a': 'apple'})
print(tuple3)
原文地址:https://www.cnblogs.com/xiehuangzhijia/p/13771817.html