day6 列表基本操作

2018-11-12  本文已影响0人  遇见那天的雨真大

1.列表(list)

列表是python内置的可变并且有序的容器类数据类型(序列)
有序:可以通过下标获取元素
可变:指的是列表中元素的个数,元素的值以及元素的位置可变(支持增删改查)
列表的字面量:中括号括起来,里面有多个元素,元素之间用 , 隔开
[元素1,元素2....元素n]
元素:元素里面的内容可以是任何类型的数据。同一个列表,不同元素的类型可以不一样.
列表举例:

list1 = [10,20]
print(list1)
list2 = [10,20,"lorry",True,[1,2]]
list3 = []
print(list2,list3)
class_one =[["lorry",100],['lorrybz',10]]
print(class_one[0])

2.列表增删改查

2.1.查,获取列表的元素

films =["欧美","日韩","国产","偷拍"]
print(films[1])
films =["欧美","日韩","国产","偷拍"]
print(films[0:3])
方法一:直接获取列表中元素
names = ["小明","小花","小红","黄梅梅"]
for item in names:
    print(item)
方法二:通过遍历下标获取获取列表中元素
for index in range(len(names)):
    print(names[index])

2.1.增,获取列表的元素(a.append())

films =["欧美","日韩","国产","偷拍"]
films.append("人妻")
print(films)

练习:#录入学生成绩,保存到一个列表中。(录入的时候不断的输入学生的成绩,知道输入end位置。)

scores =[]
flag = True
while flag:
    score = input("请输入成绩(结束输入end):")
    if score != "end":
        scores.append(int(score))
    else:
        flag = False
print(scores)

2.2增,a.insert(下标,元素)

在制定 的下标前插入指定的元素。

films = ['欧美', '日韩', '国产', '偷拍', '人妻']
films.insert(2,"萝莉")
films.insert(0,"少妇")
print(films)

练习:有一个有序的数列【1,7,34,67,100】, 输入任意一个数列,插入后的数列还是从小到大的排序。

list1 = [1,7,34,67,100]
list2 = []
list3 = []
while True:
    a = input("请输入数字(end结束):")
    if a.isdigit():
     list1.append(int(a))
    elif a == "end":
        break
    else:
        print("重新输入(end结束):")
print(list1)
list1.insert(-1,20)
a = len(list1)
for i in range(a):
    aa = min(list1)
    list3.append(aa)
    list1.remove(aa)
print(list3)
nums = [1,7,34,67,100]
value = int(input("请输入一个数字"))
for index in range(len(nums)):
    if nums[index] >= value:
        nums.insert(index,value)
        break
else:  #如果没有找到一个比输入大的元素。
    nums.append(value)
print(nums)

2.3.删除列表的元素

films = ['欧美', '日韩', '国产', '偷拍', '人妻']
del films[-1]
print(films)
films = ['欧美','人妻','日韩','国产','偷拍','人妻']
films.remove("人妻")
print(films)
films = ['欧美', '日韩', '国产', '偷拍', '人妻']
a = films.pop()
b = films.pop(0)
print(films);print(a);print(b)

例子:有一个列表,列表中有数字和字符串两种类型的元素。要求将列表中的字符串全部放到另外一个列表中。

list1 = [1,"ab",303,"hello",89,9,90]
str1 = []
num = []
for item in  list1:
    if isinstance(item,str):
        str1.append(item)
    else:
        num.append(item)
print(str1)
print(num)
list1 = [1,"ab",303,"hello",89,9,90]
list2 = []
index = 0
while 0 <= index <len(list1):
    if isinstance(list1[index],str): #取出
        item = list1.pop(index)
        list2.append(item)
        continue
    index +=1
print(list1)
print(list2)

2.4.改(修改列表元素的值)

列表[下标] = 新值 -将列表中指定下标对应的元素改成指定的值。

films = ['欧美', '日韩', '国产', '偷拍', '人妻']
films[-1] = "萝莉"
print(films)

3.列表运算

list1 = [1,2,3]
list2 = ["lorry"]
print(list1+list2)
list1 = [1,2,3]
list2 = ["lorry"]
print(list1*3);print(list2*3);print((list1+list2)*3)
names = ["小明","lorry","lorrbz","路飞"]
if "lorry" in names:
    print("nice,喜提500万")
else:
    print("滚蛋")
names = [["小明","小花"],"lorry",{"a":12,"n":50},lambda x:x*2]
print(len(names))
str1 = "hello"
print(list(str1))
print(list(range(10,20)))
print(max([1,45,6,89,20]))
print(min([1,45,6,89,20]))
print(min(["患者","aaa","lalal","一","\u95fd"]))
上一篇下一篇

猜你喜欢

热点阅读