Python3基础-基本数据类型之列表

list 列表

list

  1. list 中括号括起来
  2. ,分割每个元素
  3. 列表中的元素可以是数字,字符串、列表、布尔值等所有的都能放进去
  4. 有序,元素可以被修改

访问列表中的值-切片

list1 = ['Susu', 'Runoob', 19, 18]
list2 = [1, 2, 3, 4, 5, 6, 7];
list3 = [1, 2, 3, 4, 5, ['Susu',19,['Runoob',18]],6, True]

print("list1[0]: ", list1[0])
print("list2[1:5]: ", list2[1:5])
print("list3[0:9]: ", list3[0:7]) #切片的结果也是列表
print("list3[-1]: ", list3[-1]) #切片的结果也是列表
print("list3[3,-1]: ", list3[3:-1])

"""
执行结果如下
list1[0]:  Susu
list2[1:5]:  [2, 3, 4, 5]
list3[0:9]:  [1, 2, 3, 4, 5, ['Susu', 19, ['Runoob', 18]], 6]
list3[-1]:  True
list3[3,-1]:  [4, 5, ['Susu', 19, ['Runoob', 18]], 6]
"""

For循环\While循环

list3 = [1, 2, 3, 4, 5, 6, True,['Susu',19,['Runoob',18]]]
for item in list3:
    print("item=",item,' ;',end='')

index = 0
while index < len(list3):
    print("index=",list3[index],' ;',end='')
    index += 1

"""
执行结果
item= 1  ;item= 2  ;item= 3  ;item= 4  ;item= 5  ;item= 6  ;item= True  ;item= ['Susu', 19, ['Runoob', 18]] 
index= 1  ;index= 2  ;index= 3  ;index= 4  ;index= 5  ;index= 6  ;index= True  ;index= ['Susu', 19, ['Runoob', 18]]  ;
"""

list 修改、删除

list3 = [1, 2, 3, 4, 5, 6, True,['Susu',19,['Runoob',18]]]
list3[1]=3333    #索引方式修改
print("索引修改list",list3)
list3[2:5]=['我是第三个字符','我是第四个字符','我是第5个字符']  #切片方式修改
print("切片修改list",list3)
del list3[0]     #索引方式删除
print("索引删除list",list3)
del list3[2:5]   #切片方式删除
print("切片删除list",list3)

"""
执行ijeg如下
索引修改list [1, 3333, 3, 4, 5, 6, True, ['Susu', 19, ['Runoob', 18]]]
切片修改list [1, 3333, '我是第三个字符', '我是第四个字符', '我是第5个字符', 6, True, ['Susu', 19, ['Runoob', 18]]]
索引删除list [3333, '我是第三个字符', '我是第四个字符', '我是第5个字符', 6, True, ['Susu', 19, ['Runoob', 18]]]
切片删除list [3333, '我是第三个字符', True, ['Susu', 19, ['Runoob', 18]]]
"""
#pop() 删除某个值 可以获取删除的值
list= ['Susu', 'Runoob', 19, '18']
list.pop()   #默认删除最后一个值
print(list)   #输出  ['Susu', 'Runoob', 19]
popnum=list.pop(1)  #删除index=1的值
print(popnum) #输出   删除index=1的值   Runoob

#remove()  指定某个元素进行删除,左边优先
list= ['Susu', 'Runoob', 19, '18']
list.remove('Susu')
print(list) #输出 ['Runoob', 19, '18']

 

list 新增元素

list= ['Susu', 'Runoob', 19, '18']
list.append('12') # append在原来的list 值后追加‘12’
print(list)  #输出 ['Susu', 'Runoob', 19, '18', '12']
list.append(1)  # append在原来的list 值后追加‘1’
print(list) # 输出 ['Susu', 'Runoob', 19, '18', '12', 1]
list.append([1,2]) #输出 append在原来的list 值后追加[1,2]
print(list) #['Susu', 'Runoob', 19, '18', '12', 1, [1, 2]]
list= ['Susu', 'Runoob', 19, '18']
list.append([112,'Song']) # append在原来的list 值后追加[112,'Song']
print(list)  #输出 ['Susu', 'Runoob', 19, '18', [112, 'Song']]
list.extend([112,'Song']) #扩展列表  参数可迭代对象
print(list) #输出 ['Susu', 'Runoob', 19, '18', [112, 'Song'], 112, 'Song']
list.extend('hahuhu')  #  ['Susu', 'Runoob', 19, '18', [112, 'Song'], 112, 'Song', 'h', 'a', 'h', 'u', 'h', 'u']
print(list)
list.extend(['hahuhu']) #['Susu', 'Runoob', 19, '18', [112, 'Song'], 112, 'Song', 'h', 'a', 'h', 'u', 'h', 'u', 'hahuhu']
print(list)

list 插入元素

#insert()在指定索引位置插入元素
list= ['Susu', 'Runoob', 19, '18']
list.insert(0,'name')
print(list)  #输出   ['name', 'Susu', 'Runoob', 19, '18']

 

list 清空元素

list= ['Susu', 'Runoob', 19, '18']
list.clear()
print(list)  #输出 []

list 拷贝

#拷贝 浅拷贝
list= ['Susu', 'Runoob', 19, '18']
list1=list.copy()
print(list,'\n',list1)  

"""
执行结果
['Susu', 'Runoob', 19, '18'] 
 ['Susu', 'Runoob', 19, '18']
"""

list count()

list= ['Susu', 'Runoob', 19, '18',['Susu', 19, ['Runoob', 18]]]
num=list.count(19) #计算元素出现的次数
print(num)  #输出 1

 

list 判断某个值是否在列表中

list=[3333, '我是第三个字符', True, ['Susu', 19, ['Runoob', 18]]]

if 3333 in list:
    print("在list列表中")
else:
    print("不在list列表中")


"""
执行结果
在list列表中

"""

list 获取当前值索引的位置

#获取当前值索引位置(左边优先)
list= ['Susu', 'Runoob', 19, '18']
v_list=list.index(19)
print(v_list) #输出  2

list排序

#reverse()当前列表进行翻转
list= ['Susu', 'Runoob', 19, '18']
list.reverse()
print(list)  #输出 ['18', 19, 'Runoob', 'Susu']

#soft()排序 默认从小到大进行排序
list= [25, 1, 19, 2]
list.sort()
print(list)   #输出  [1, 2, 19, 25]
list.sort(reverse=True)  #从大到小进行排序
print(list) #输出[25, 19, 2, 1]

list 嵌套列表

list=[3333, '我是第三个字符', True, ['Susu', 19, ['Runoob', 18]]]
list_num=list[3][2][1]
print(list_num)

"""
执行结果  18
"""

字符串和list相互转换

test='哈哈哈我的'
new_testlist=list(test)
print(new_testlist)

"""
执行结果
['哈', '哈', '哈', '我', '的']
"""


#list转换成字符串
list=[3333, '我是第三个字符', True, ['Susu', 19, ['Runoob', 18]]]
strlist=str(list)
print(strlist)

"""
执行结果
[3333, '我是第三个字符', True, ['Susu', 19, ['Runoob', 18]]]
"""

#list元素只有字符串,可以用join
list1 = ['Susu', 'Runoob', '19', '18']
strlist1=''.join(list1)
print(strlist1)

"""
执行结果
SusuRunoob1918
"""

#list元素有数字、列表,用join会报错
#TypeError: sequence item 2: expected str instance, int found
#list1 = ['Susu', 'Runoob', 19, '18']
#strlist1=''.join(list1)
#print(strlist1)

int 转换成list

TypeError: 'int' object is not iterable

list内存回收机制

list3 = [1, 2, 3, 4, 5, 6, True,['Susu',19,['Runoob',18]]]
print(id(list3)) #id
list3[1]=3333 #修改列表的值
print(list3)
print(id(list3)) #id

"""
执行结果
12579064
[1, 3333, 3, 4, 5, 6, True, ['Susu', 19, ['Runoob', 18]]]
12579064
"""

对于列表的更改:是在原来列表指定的内存地址上更改

 

posted @ 2019-10-12 18:31  槑槑DE  阅读(244)  评论(0编辑  收藏  举报