列表list

#coding:UTF-8
'''
#列表的使用
#1.列表的创建
#方式一
list1 = [1,2,'常用']
result1 = list1[2]
print(result1)
#方式二
list2 = list() #空列表
list3 = list(list1) #可以迭代对象
print(list3)
list4 = list('123hello') #结果:['1', '2', '3', 'h', 'e', 'l', 'l', 'o']
print(list4)
#方式三
list5 = [i for i in range(1,6)] #结果:[1, 2, 3, 4, 5]
print(list5)


#列表索引切片
list6 = [1,3,9,'a','b','c','hello']
print(list6[0]) #结果:1
print(list6[-1]) #结果:hello
print(list6[1:3]) #结果:3,9 算头不算尾
print(list6[:-1]) #就是[0:-1] 结果:1,3,9,a,b,c
print(list6[::2]) #取所有加步长 结果:1,9,b,hello
print(list6[::-1]) #倒序取所有,结果:hello,c,b,a,9,3,1
'''
'''
通过对li列表的切片形成新的列表l1,l1 = [1,3,2]
通过对li列表的切片形成新的列表l2,l2 = ["a",4,"b"]
通过对li列表的切片形成新的列表l4,l4 = [3,"a","b"]
通过对li列表的切片形成新的列表l6,l6 = ["b","a",3]
li = [1, 3, 2, "a", 4, "b", 5,"c"]
print(li[0:3])
print(li[3:6])
print(li[1:6:2])
print(li[5:0:-2]) #尾部为负则是倒序,加步长

#增
#方法1:append() 给列表最后面追加一个元素
add1 = [1,2,3,'a']
add1.append('hello')
res1 = list(add1) #列表不能直接赋值给某个参数,需要将参数列表化再迭代赋值
print(res1) #结果:[1, 2, 3, 'a', 'hello']
#方法二:insert() 插入在列表的任意位置的元素
add1.insert(1,'b')
add1.insert(1,'c')
print(add1) #结果:[1, 'c', 'b', 2, 3, 'a', 'hello']
# 方法三:extend() 迭代着追加,在列表的最后面迭代着追加一组数据
l = [1, 2, 'a']
l.extend('太白a') # 迭代追加,只能追加一组数据,不能追加l.extend('太','白','a')否则会报错
print(l) #结果:[1, 2, 'a', '太', '白', 'a']


#删除,pop(索引) remove(元素) clear(清空) del(索引)
#方法一:pop()通过索引删除列表中对应的元素,该方法有返回值,返回值为删除的元素
pop1 = ['xiaozha','baoer','beier',1,2,'a','b']
result_pop1 = pop1.pop(0) #返回删除元素
print(result_pop1,pop1) #结果:xiaozha ['baoer', 'beier', 1, 2, 'a', 'b']
pop1.pop(1)
print(pop1) #结果:['baoer', 1, 2, 'a', 'b']

#方法二:remove() 通过元素删除列表中该元素,不会返回删除元素
remove1 = ['xiaozha','baoer','beier',1,2,'a','b']
remove1.remove('a')
print(remove1) #结果:['xiaozha', 'baoer', 'beier', 1, 2, 'b']

#方法三:clear() 清空列表
clear1 = ['xiaozha','baoer','beier',1,2,'a','b']
clear1.clear()
print(clear1) #结果:[]

#方法四:del() 按照索引删除该元素
del1 = ['xiaowang','xiaoli','xiaoming',1,2,'a','b']
del del1[0]
print(del1) #结果:['xiaoli', 'xiaoming', 1, 2, 'a', 'b']
del del1[0:2] #切片删除,前后均包含,结果:[1, 2, 'a', 'b']
print(del1)
del del1[:] #结果:[]
print(del1)

#改 索引修改、切片修改(顾头,不顾尾)、步长修改(修改数需准确)
#索引改值
update1 = ['xiaowang','xiaoli','xiaoming',1,2,'a','b']
update1[1] = 666
print(update1) #['xiaowang', 666, 'xiaoming', 1, 2, 'a', 'b']
#切片改值
update1[0:2]=['zha','hongli','li'] #含头,不含尾 结果:['zha', 'hongli', 'li', 'xiaoming', 1, 2, 'a', 'b']
print(update1)
#切片加步长改值
update1[::2]=['aa','bb','cc','dd'] #加步长替换值数量必须准确,否则会报错,结果:['aa', 'hongli', 'bb', 'xiaoming', 'cc', 2, 'dd', 'b']
print(update1)

#查
#count() 查询某个元素再列表中出现的次数
count1 = ['a','b',1,2,3,2,'a','f',3,2,'a']
result_count = count1.count(2) #通过元素查询,结果:3
print(result_count)
#index() (方法用于从列表中找出某个值第一个匹配项的索引位置)
index1 = ['a','b',1,2,3,2,'a','f',3,2,'a']
result_index = index1.index(2) #通过元素查询,结果:3
print(result_index)

#sort() (方法用于在原位置对列表进行排序,列表中必须均是数字,不能有字符串),无返回值
sort1 = [5,3,6,2,7,1,8,0]
sort1.sort()
print(sort1) #结果:[0, 1, 2, 3, 5, 6, 7, 8]

#sorted() 不会改变原有列表的排序,有返回值
x =[4, 6, 2, 1, 7, 9]
y = sorted(x)
print (y) #结果:[1, 2, 4, 6, 7, 9]
print (x) #结果:[4, 6, 2, 1, 7, 9]

#reverse() 将列表元素反向翻转存放
sort2 = [5,3,6,2,7,1,8,0]
sort2.reverse()
print(sort2)
'''
#列表可以进行相加与相乘
num1 = [1,2,3]
num2 = [3,4,'zha']
result_num1 = num1+num2 #结果:[1, 2, 3, 3, 4, 'zha'] +作为连接符
result_num2 = num1*2 #结果:[1, 2, 3, 1, 2, 3] *作为重复次数
result_num3 = num2*2 #结果:[3, 4, 'zha', 3, 4, 'zha']
print(result_num1)
print(result_num2)
print(result_num3)

 

#len(),计算列表长度,有返回值
li1 = ["alex", "WuSir", "ritian", "barry", "wenzhou"]
ss = len(li1)
print(ss)

作业:

'''
li = ["alex", "WuSir", "ritian", "barry", "wenzhou"]
计算列表的长度并输出
列表中追加元素"seven",并输出添加后的列表
请在列表的第1个位置插入元素"Tony",并输出添加后的列表
请修改列表第2个位置的元素为"Kelly",并输出修改后的列表
请将列表l2=[1,"a",3,4,"heart"]的每一个元素添加到列表li中,一行代码实现,不允许循环添加。
请将字符串s = "qwert"的每一个元素添加到列表li中,一行代码实现,不允许循环添加。
请删除列表中的元素"ritian",并输出添加后的列表
请删除列表中的第2个元素,并输出删除的元素和删除元素后的列表
请删除列表中的第2至4个元素,并输出删除元素后的列表
'''

'''
li1 = ["alex", "WuSir", "ritian", "barry", "wenzhou"]
#计算列表的长度并输出
ss = len(li1)
print(ss)
#列表中追加元素"seven",并输出添加后的列表
li1.append('seven')
print(li1)
#请在列表的第1个位置插入元素"Tony",并输出添加后的列表
li1.insert(0,'Tony')
print(li1)
#请修改列表第2个位置的元素为"Kelly",并输出修改后的列表
li1[1] = 'kelly'
print(li1)

#请将列表l2=[1,"a",3,4,"heart"]的每一个元素添加到列表li中,一行代码实现,不允许循环添加
l2=[1,"a",3,4,"heart"]
result_num1 = li1+l2
print(result_num1)
#请将字符串s = "qwert"的每一个元素添加到列表li中,一行代码实现,不允许循环添加。
li1.extend('qwert')
print(li1)

li1 = ["alex", "WuSir", "ritian", "barry", "wenzhou",1,3,6,4]
#请删除列表中的元素"ritian",并输出添加后的列表 pop del clear remove
li1.remove('ritian')
print(li1)
#请删除列表中的第2个元素,并输出删除的元素和删除元素后的列表
li1.pop(1)
print(li1)
#请删除列表中的第2至4个元素,并输出删除元素后的列表
del(li1[1:4])
print(li1)
'''

# l1 = [1, 2, 'taibai', [1, 'WuSir', 3,]]
# 1, 将l1中的'taibai'变成大写并放回原处。
# 2,给小列表[1,'alex',3,]追加一个元素,'老男孩教育'。
# 3,将列表中的'alex'通过字符串拼接的方式在列表中变成'alexsb'
#
# lis = [2, 3, "k", ["qwe", 20, ["k1", ["tt", 3, "1"]], 89], "ab", "adv"]
# 将列表lis中的"tt"变成大写(用两种方式)
# 将列表中的数字3变成字符串"100"(用两种方式)
# 将列表中的字符串"1"变成数字101(用两种方式)
'''
ll1 = [1, 2, 'taibai', [1, 'WuSir', 3,]]
#将l1中的'taibai'变成大写并放回原处
resu_ll1 = ll1[2]
resu_ll2 = resu_ll1.upper()
print(resu_ll2)
ll1.remove('taibai')
ll1.insert(2,resu_ll2)
print(ll1)

# 2,给小列表[1,'alex',3,]追加一个元素,'老男孩教育'。
li3 = [1,'alex',3]
li3.append('老男孩教育')
print(li3)

# 3,将列表中的'alex'通过字符串拼接的方式在列表中变成'alexsb'
li4 = 'alex'
li5 = 'sb'
li6 = li4+li5
print(li6)
'''

'''
lis1 = [2, 3, "k", ["qwe", 20, ["k1", ["tt", 3, "1"]], 89], "ab", "adv"]
# 将列表lis中的"tt"变成大写(用两种方式)
#方法一
lis2 = lis1[3]
lis3 = lis2[2]
lis4 = lis3[1]
lis5 = lis4[0].upper()
#方法二
#嵌套列表中取出某个索引
lis6 = lis1[3][2][1][0].upper()
#修改列表值
lis1[3][2][1][0]=lis6
print(lis1)

# 将列表中的数字3变成字符串"100"(用两种方式)
#方法一,直接修改
lis1[1] = 100
print(lis1)
#方法二,先删除,再插入
del lis1[1]
lis1.insert(1,100)
print(lis1)

# 将列表中的字符串"1"变成数字101(用两种方式)
lic1 = [2, 3, "k", ["qwe", 20, ["k1", ["tt", 3, "1"]], 89], "ab", "adv"]
# rs1 = int(lic1[3][2][1][2])+100
# lic1[3][2][1][2] = rs1
# print(lic1)

lic1[3][2][1][2]= 101
print(lic1)
'''

 

转载于:https://www.cnblogs.com/zhahongli/p/11427958.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值