美文网首页
2018-12-29总结

2018-12-29总结

作者: 白与黑_d83f | 来源:发表于2018-12-29 23:33 被阅读0次

一.列表

1.什么是列表(list)

列表是Python提供的容器型数据类型
可变 - 列表中的每个元素的值可变,列表的长度可变,列表中的元素顺序可变。
有序 - 每个元素可以通过下标来确定位置。

2.列表的字面量:通过[]括起来,里面有多个元素,用逗号隔开。

[1,2,3]
[10,'abc',True]
num=100;[num,200]

[]--空列表
注意:列表元素的类型可以是任何Python支持的数据类型;并且同一列表中可以有不同的元素类型。

3.获取列表元素(和字符串获取字符的元素一样)

a.获取单个元素
列表[下标] - 获取列表中制定下标对应的元素
b.获取部分切片元素(切片)
列表[开始下标:结束下标:步长]
c.一个一个的取出所有元素(遍历)
可以使用for循环直接遍历列表拿到每一个元素:(操作时和下标无关)
通过遍历列表中列表元素对应的下标来遍历列表元素

4.增(添加列表元素)

a.append
列表.append(元素) - 指定的列表元素后边添加指定的元素
b.insert
列表.insert(下标,元素)- 在指定的下标前插入指定的元素

5.删(删除元素)

a.del
del 列表[下标]- 删除列表中指定下标指定元素
注意:del是Python关键字,可以删除任何元素 ,这儿下标不能越界
b.remove
列表.remove(元素)
只删最前面的一个
c.pop
列表.pop() - -将列表中最后一个元素从列表中取出,会返回取出来的元素 -(注意:这个操作不会产生新的列表)
列表.pop(下标) -- 将列表中指定元素从列表中取出,会返回取出来的元素
(注意:这个操作不会产生新的列表)

坑一: 遍历列表删除部分元素,删不全! --- 遍历的时候对原列表切片

练习:统计一个班的学生的年龄(控制台不断不输入年龄的值,直到输入end为止),删除年龄小于18岁的年龄。

str=[]
age= input('年龄;')
while age !='end':
    str.append(int(age))
    age=input("年龄:")
print(str)
str1=str[:]
print(str1)
for i in str:
       if i<18:
         str1.remove(i)
print(str1)
ages=[12,13,20,18,30,10]
index=0
new_ages=[]
while index<len(ages):
    age=ages[index]
    if age<18:
        del_item=ages.pop(index)
        new_ages.append(del_item)
    else:
        index += 1 #不需要删除的时候下标才增加
print(ages,new_ages)

坑二:通过下标遍历列表,删除元素的时候;下标越界和元素获取不全

解决办法:下标对应的元素需要删除,下标值不动:不会删除下标加1

6.改(修改元素的值)

列表[下标] = 新值 ---修改列表指定下标对应的值

list1=[1,2,3]
list1[0]='abc'
print(list1)

7.相关运算

(1).相关运算:+,*

a.数学运算

列表1+列表2 -将两个列表中元素合并在一起产生一个新的列表
列表*N - 列表中的元素重复N次,产生一个新的列表

b.比较运算

比较大小和字符串比较原理相等

print([1,2,3]+['a','b','c'])
print([1,2,3]==[1,2,3])
print([1,2,3]==[3,2,1])

(2).in/ not in

元素 in 列表 -- - 判断列表中是否存在指定的元素

print([1,2] in [1,2,3])
print([1,2] in [[1,2],30,'abc'])

(3).len

len(列表) - 获取列表中元素的个数

print(len([[1,'a'],2,'100',True]))

(4).list

list(数据) - 将其他数据转换成列表;只有序列才能转换成列表,并且所有的序列都能转化成为列表
转换的时候是将所有的元素转换成列表的元素
list=10 #注意:不能Python给我们提供的类型的名字来命名,否则会有隐患

list3=('hello')
print(list3)
list4=list(range(11,20))
print(list4)

(5).序列其他方法

max(序列) - 获取序列中最大元素
min(序列) - 获取序列中最小的元素
sum(序列) - 求序列中所有元素之和
注意:以上三个方法,要求序列中的元素必须一致,并且这个类型支持比较运算和加法运算

print(max([19,89,999,2,0.2]))
print(min([19,89,999,2,0.2]))

二.列表方法

1.list,count(obj)

ages = [12, 13, 20, 18, 30, 10,12,12]
print(ages.count(12))

2.list.extend(seq) 末尾追加列表

ages = [12, 13, 20, 18, 30, 10,12,12]
ages1=[1,2,3]
ages.extend(ages1)
print(ages)

3.list.reverse() 反向列表中元素

ages = [12, 13, 20, 18, 30, 10,12,12]
ages.reverse()
print(ages)

4.list.clear() 清空列表

5.list.copy() 复制列表

6.list.sort() 对列表排序

相关文章

网友评论

      本文标题:2018-12-29总结

      本文链接:https://www.haomeiwen.com/subject/ohfmlqtx.html