python列表

文章详细介绍了Python中列表的基本操作,包括创建、访问、修改和删除元素,以及遍历、排序、切片、扩展和赋值等方法。此外,还展示了如何使用列表解决逻辑问题,如找出说谎者。内容涵盖了列表的常用功能和编程技巧。
摘要由CSDN通过智能技术生成

1.创建列表:

scores = [98,97,52,97,85]

访问:scores[0],scores[1],scores[-1]...

2.操作列表元素

 1)修改元素:

        列表名[索引]=新值

  2)增加元素:

        append():     列表名.append(新元素)   将元素插在原列表尾部

        insert():        列表名.insert(索引,新元素)      将新元素插在索引指向的位置

  3)删除元素:

        del:        del 列表名[索引]        

        pop():        列表名.pop(索引)        既删除了元素,也返回此元素,可利用pop获取元素,当没有索引时,默认返回并删除最后一个元素(stack)

        remove():        列表.remove(元素值)        删除指定值,当列表中有相同元素的时候,只删除索引较小的一个。

   4)其他操作

        1.len():        len(列表)        返回列表中元素个数

        2.运算符 in 和 not in:元素 in 列表        在则返回1,不在返回0(另一个同理)

        3.index        列表.index(元素)        返回元素所在指引,若多个相同元素,返回索引最小的

        4.count        列表.count(元素)        返回列表中指定元素的个数

3.操作列表:

        1)遍历:(结合range()函数)

list=[4,8,3,5,5,7,7]
for i in range(7):
    print(list[i])

        2)直接遍历元素(6)

list=[["wjx",99],["ljw",98],["wr",79]]
for  i in list:
    print(i)

         EG1. thief

警察抓住了A,B,C,D四个偷窃嫌疑犯,其中有一个人是真正的小偷,审问记录如下:

A说:我不是小偷

B说:C是小偷

C说:D是小偷

D说:C在冤枉人

已知四人中有三人说的是真话,一人说的是假话,谁是小偷?

sus=['A','B','C','D']
#列表中存四个人
#对四个人进行遍历,假设每一种情况
for x in sus:
#此人为小偷时恰好满足三个条件,则他是小偷
    if (x!='A')+(x=='C')+(x=='D')+(x!='D')==3:
        print("the thief is:",x)
        break

 4.列表排序

        1)sort():        列表.sort()        默认升序排列,后面括号中若为(reverse=Ture)则为降序,反之则为升序

        2)sorted():        sorted(列表,reverse)

                与sort不同,sorted只生成列表排序后的副本,而不改变原列表,sort则改变原列表顺序,若想保留sorted的结果,可定义新列表保存。

                xxx=sorted(xxx,xxx)

5.列表切片:

                列表[起始索引,终止索引,步长]

                ps:

                        1.缺起始,默认从0开始

                        2.缺终止,默认到最后        

                        3.步长:每个几个元素取一个,默认为1,正数代表正向,负数负向,注意其与起始idx与终止idx的关系(可能切出来空列表)       

6.列表扩充

        1)+运算

                连接两个列表,可通过赋值或定义新列表来保存

        2)extend():        列表1.extend(列表2)将列表2加到列表1后面,改变列表1

        3)*运算:        复制列表,规律与+相同

7.列表赋值

        1)利用切片

        2)copy:        newlist=list.copy()        深拷贝,两个不同的列表

        3)列表间赋值:        newlist=list        浅拷贝,其实是给原列表加了一个名字,共用同一个内容,未新建列表。

8.数值列表:

        1)input():        需要eval()转换

        2)list():lnum=list(range(1,11))        此时lnum为一个list对象

        3)列表生成式:列表=[循环变量相关表达式 for 循环变量 in range()函数]

                                  eg:lnum=[i**2 for i in range(1,11)]

        max()

        min()

        sum()

at=['a','b','c','d','e','f']
tab=[['ljl',20,20,20,19,19,19],
    ['qz',15,15,14,15,12,13]]
names=[item[0] for item in tab]

score=[item[1:] for item in tab]
#以列表切片作为新列表的元素

tot=[sum(item) for item in score]
#对列表中的列表的元素求和作为新列表的元素

avgs=[]
for j in range(6):
 avgs.append(sum([score[i][j] for i in range(2)])/2)
print(names)
print(tot)
print(score)
print(avgs)

 

        

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值