2-1-4python语法基础--基础-数据类型-列表
列表的curd
创建
list1=['my','name','is','andy'] # 这就是列表的创建,使用方括号
查询
那就是使用切片了,
# 访问列表:切片
list1=['my','name','is','andy']
print(list1[2])
print(list1[1:3])
print(list1[:-1])
print(list1.count('my')) # 统计某个元素在列表中出现的次数
print(list1.index('my')) # 从列表中找出某个值第一个匹配项的索引位置
更新列表
list1=['my','name','is','andy']
list1[0]='his'
print(list1)
list1.append('Lee') # 这是在列表末尾插入元素
print(list1)
list1.insert(1,[1,2,3]) # 这是在指定位置插入元素
print(list1)
# 反转
print(list1.reverse()) # 反向列表中元素
list2=[4,5,1,2,3]
# 排序
list2.sort(reverse=True) # reverse -- 排序规则,reverse = True 降序, reverse = False 升序(默认)。
print(list2)
# 清空
list2.clear()
print(list2)
# 复制
list3=list1.copy()
print(list3)
删除列表元素
list1=['my','name','is','andy']
del list1[4]
print(list1)
list1.remove(list1[3])
print(list1)
list1.pop() # 移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
print(list1)
+和*,适用于字符串,同样适用于列表
print(list1+list1) # ['his', 'name', 'is', 'his', 'name', 'is']
print(list1*3) # ['his', 'name', 'is', 'his', 'name', 'is', 'his', 'name', 'is']
内置函数操作列表
list1=['my','name','is','andy']
print(len(list1))
print(max(list1))
print(min(list1))
列表的其他常用函数和方法
例题:
python的append和extend有什么区别?
答:extend()接受一个列表参数,把参数列表的元素添加到列表的尾部,append()接受一个对象参数,把对象添加到列表的尾部。
# 如何实现 “1,2,3” 变成 [‘1’,’2’,’3’] ?
list("1,2,3".split(','))
# 如何实现[‘1’,’2’,’3’]变成[1,2,3] ?
[int(x) for x in ['1','2','3']]
# 如何用一行代码生成[1,4,9,16,25,36,49,64,81,100] ?
i*i for i in range(1,11)]
# 一行代码实现删除列表中重复的值 ?
list(set([1, 2, 3, 4, 45, 1, 2, 343, 2, 2]))
Python将两个列表/数组合并成一个列表/数组
extend方法
c1 = ["Red","Green","Blue"]
c2 = ["Orange","Yellow","Indigo"]
c1.extend(c2)
>>>c1 #["Red","Green","Blue","Orange","Yellow","Indigo"]
直接相加
c1 = ["Red","Green","Blue"]
c2 = ["Orange","Yellow","Indigo"]
c3 = c1 + c2
列表转换成字符串,字符串转换成列表
list1 = [1,2,3,4]
list2 = ["1","2","3","4"]
list3 = ["1","2","3",4]
# print("".join(list1)) # 这种就不行,因为要求列表中的元素都是字符串,
# print("".join(list2)) # 这种就可以,
# print("".join(list3)) # 这种也不行,
###
# list1 怎么办?
# list1 = [str(i) for i in list1] # 先通过列表推导式,把列表中的元素都转换成为字符串,
# print("".join(list1)) # 这样就可以了,
##########
# 字符串转换列表
str1 = "1234"
str2 = "1234abc一二三"
str3 = "1234,abc,一二三"
# print(list(str1)) # ['1', '2', '3', '4']
# print(list(str2)) # 所以所这种转换列表,是把字符串的每一个元素变为列表元素
# print(str2.split()) # 这种是split,就是一整个作为一个元素 ['1234abc一二三']
# print(str3.split(",")) # 这种是split,逗号分隔
技术改变命运