list       特征:1. 用[]表示    2.中间是以,分割每个元素    3.列表中的元素可以是  数字  字符串   列表   布尔值

例:     li=[1,21,54,"asdas",[123,1231,"asdas"]]            #创建了一个列表,这个列表中就有五个元素(列表里面的列表也算一个元素)

li=[1,21,54,"asdas",[123,1231,"asdas"]]
print(li[4])            
print(li[0:-1])               #提取列表中的元素,形成的东西还是一个列表
取值也支持for、while循环
li = [1, 21, 54, "asdas", [123, 1231, "asdas"]]
#取值也支持for、while循环
for item in li:
    print(item)

!!列表的元素可以进行更改!!

li = [1, 21, 54, "asdas", [123, 1231, "asdas"]]
li[2]=2100              #将列表中的元素修改
print(li)

li = [1, 21, 54, "asdas", [123, 1231, "asdas"]]
li[1:3]=["asd","ff"] #将多项内容进行修改
print(li)
li = [1, 21, 54, "asdas", [123, 1231, "asdas"]]
del li[1] #删除的第一种方式,同理,可以用切片的形势进行删除
print(li)

查找列表中的元素

li = [1, 21, 54, "asdas", [123, 1231, "asdas"]]
v=213 in li        #检测是否在列表中
print(v)
v1=123 in li          #在列表的列表中 不能查出来false   
print(v1)
v2=123 in li[4]        #123在列表的索引中,输出结果为true
print(v2)
v3=li[4][0] 输出结果为123

字符串和列表的相互转换

#字符串转换成列表
s="dasfanscuxzhu"
new_s=list(s)
print(new_s)         #输出结果为['d', 'a', 's', 'f', 'a', 'n', 's', 'c', 'u', 'x', 'z', 'h', 'u']
#!!!字符串如果转换称列表的逻辑,内部使用的时for循环

###将列表写成连续的字符串的第一种方法    for循环  比较麻烦
li=[11,22,33,"asd","fdf"]
ad=str(li)
print(ad)         #输出结果为 [11, 22, 33, 'asd', 'fdf'],即将list中所有的当成一个字符

#
若不想把这些逗号显示出来,可以采用以下方法 s="" for item in li: s+=str(item) #输出结果为112233asdfdf print(s)

###将列表写成连续的字符串的第二种方法 :若列表中只有字符串的话的方法 yxz=["asd","123"] v="".join(yxz) print(v) #输出结果为asd123

总结!!当列表中只有字符串的时候,用join的方法;当列表中啥类型都有的时候,必须用到for循环!!!

另外的一些魔法

#在列表的魔法中 可以添加参数,在原来的列表进行修改
li= [11,22,33,44,55]
v=li.append(5)
print(v)              #字符串是对自己本身进行修改,所以会输出一个none
print(li)            #字符串是可以修改的,所以输出的是[11, 22, 33, 44, 55, 5]
li.append(5)    #这样就可以了

li= [11,22,33,44,55]
li.clear() #清空列表
print(li)

li= [11,22,33,44,55]
v=li.copy() #列表的拷贝 浅拷贝
print(v)

li= [11,22,33,44,55,55]
v=li.count(55) #列表的计数,元素出现的次数2
print(v)

#列表扩展的两种方法!!!!注意 加入的参数必须是可迭代对象
li= [11,22,33,44,55,55]
li.append(["9988","不得了"]) #输出结果为[11, 22, 33, 44, 55, 55, ['9988', '不得了']],即将输入的东西作为一个整体加进去了
print(li)

li= [11,22,33,44,55,55]
li.extend(["9988","不得了"]) #输出结果为[11, 22, 33, 44, 55, 55, '9988', '不得了'],将加进去的列表中的每一个元素分开再加进去
print(li)

li= [11,22,33,44,55,55]
li.extend("不得了") #输出结果为[11, 22, 33, 44, 55, 55, '不', '得', '了'],将加进去的字符串中的每一个元素分开再加进去
print(li)
#寻找位置,以左边为主,找到第一个就不往下继续找了,后面可以跟初始和终止位置
li= [11,22,33,44,55,55]
v=li.index(22) #1
print(v)
v1=li.index(55) #4
print(v1)
v2=li.index(55,5) #5
print(v2)

#想列表中插入东西,传入两个参数,第一个参数是位置,第二个是传的东西,放在那个位置前面
li= [11,22,33,44,55,55]
li.insert(0,123) #输出结果为[123, 11, 22, 33, 44, 55, 55]
print(li)

li= [11,22,33,44,55,55]
v=li.pop() #pop默认删除最后一个值,并获取这个值,如果括号里加入参数 就是删掉索引的值
print(li) #输出结果为[11, 22, 33, 44, 55]
print(v) #55

li= [11,22,33,44,55,55]
li.remove(33) #remove删除列表中的指定值,如果有两个一样的值,则首先先删除第一个
print(li) #输出结果为[11, 22, 44, 55, 55]

补充:删除的方法 pop remove del clear

li= [11,22,33,44,55,55]
li.reverse() #将当前列表进行反转,输出结果为[55, 55, 44, 33, 22, 11]
print(li)

li= [11,22,66,44,55,55]
li.sort() #进行排序,从小到大排序
print(li)
li.sort(reverse=True) #进行排序,从大到小排
print(li)