python中的列表

列表:

有一些列按特定顺序排列的元素组成的,它是python中的可变序列。在形式上,列表中的所有元素都放置在一对“[]”中。两个相邻元素之间使用“,”号分隔。在内容上,可以将整数、实数、字符串、列表、元组等任何类型的内容放在列表中,并且同一列表中,元素的类型可以不同。

一.列表的创建和删除

1.创建:

 (1)使用赋值运算符直接创建列表。

       语法格式:

       listname = [element 1,element 2,element 3,...element n]

       listname:列表的名称

       element:列表中的元素

number = [34,56,21,78,43,23,35,19,37]
flower = ["牡丹","月季","茉莉","满天星","百合"]
print(number)
print(flower)
# 在使用列表时,虽然可以将不同类型数据的元素放在同一个列表中,但通常情况下我们不会这么做,而是在一个列表中只放入一种类型的数据,这样可以提高程序的而可读性。

(2)创建空列表:

emptylist = []

 (3)创建数值列表:

     在python中,用list()函数直接将range()函数循环出来的结果转换为列表。

    语法格式:

    list(data)

    data:可以转化为列表的数据,其类型可以是range对象、字符串、元组或者其他可迭代类型的数据。

# 创建10到30(不包含30)之间所有偶数的列表
List = list(range(10,30,2))
print(List)

2.删除列表

   语法格式:

   del listname

   listname:要删除的列表的名称。

number = [34,56,21,78,43,23,35,19,37]
del number

del在实际开发中并不常用。因为python自带的垃圾回收机制会自动销毁不用的列表,所以即使我们不销毁,也会自动回收。

二.访问列表元素

     在python中想要将列表中的内容中打印出,直接使用print()函数即可。

number = [34,56,21,78,43,23,35,19,37]
print(number)
print(number[2])

 

三.遍历列表

  1.直接使用for实现:

     语法格式:

     for item in listname:

     # 输出item

     item:用于保存获取到的元素值,要输出内容时,直接输出该变量即可。

     listname:列表名称。

number = [34,56,21,78,43,23,35,19,37]
for item in number:
    print(item)
for item in number:
    print(item,end=" ")

 

2.使用for循环和enumerate()可以实现同时输出索引值和元素内容的功能。

   语法格式:

   for index,item in enumerate(listname):

   # 输出index和item

   index:用于保存元素的索引。

   item:用于保存获取到的元素值,要输出内容时,直接输出该变量即可。

   listname:列表名称。

print("输出花朵排名:")
flower = ["牡丹","月季","茉莉","满天星","百合"]
for index,item in enumerate(flower):
    print(index+1,item) # 排名是索引+1

四.添加、修改和删除列表元素

    添加、修改和删除列表元素也称为更新列表。

    1.添加元素:

     (1)append( )方法:

         列表对像的append()用于在列表的末尾追加元素。‘

         语法格式:

         listname.append(obj)

         listname:列表名称。

         obj:要添加到列表末尾的对象。

flower = ["牡丹","月季","茉莉","满天星","百合"]
flower.append("水仙")
print(flower)
print(len(flower))

 

    (2)insert( )方法

        该方法用于向列表指定位置插入元素,但执行效率不如append(),所以不推荐使用。

flower = ["牡丹","月季","茉莉","满天星","百合"]
flower.insert(2,"水仙")
print(flower)
print(len(flower))

    (3)extend( )方法

        用于将一个列表的全部元素添加到另一个列表。

        语法格式:

         listname.extend(seq)

         listname:原列表。

         seq:要添加的列表。

flower = ["牡丹","月季","茉莉","满天星","百合"]
flower1 = ["石竹花","槐花","芍药"]
flower.extend(flower1)
print(flower)
print(len(flower))

 

  2.修改元素

    修改列表中的元素只需要通过索引获取该元素,然后为其重新赋值即可。

flower = ["牡丹","月季","茉莉","满天星","百合"]
flower[2] = "水仙"
print(flower)

 

  3.删除元素

   (1)根据索引删除

           与删除列表相似,使用del元素。

flower = ["牡丹","月季","茉莉","满天星","百合"]
del flower[2]
print(flower)

  

      (2)根据元素值删除

           若要删除一个不确定其位置的元素,可以使用列表对象的remove( )方法实现。

 

flower = ["牡丹","月季","茉莉","满天星","百合"]
flower.remove("月季")
print(flower)

    

    在使用remove( )方法删除元素之前,做好先判断该元素是否存在。

 

flower = ["牡丹","月季","茉莉","满天星","百合"]
if flower.count("月季") > 0:
   flower.remove("月季")
   print(flower)
# 列表对象的count( )方法用于判断元素出现的次数,返回值为零时表示不存在该元素。

五.对列表进行统计

    python的列表提供了内置的一些函数来实现统计、计算方面的功能。下面就介绍一下:

    1.获取指定元素出现的个数

       语法格式:

       listname.count(obj)

       listname:列表名称。

       obj:表示要判断是否存在的对象。注意这里只能进行精确判断,不能是元素值的一部分。

       返回值:元素在列表中出现的个数。

  

flower = ["牡丹","月季","茉莉","满天星","百合","月季"]
print(flower.count("月季"))

    

      2.获取指定元素首次出现的下标

         语法格式:

         listname.index(obj)

         listname:列表的名称。

         obj:要查找的对象,这里只能进行精确匹配,若不存在则抛出异常。

flower = ["牡丹","月季","茉莉","满天星","百合","月季"]
position = flower.index("月季")
print(position)

    3.统计数值列表的元素和

       在python中提供了sum( )方法用于统计列表的元素和。

       基本语法:

       sum(iterable[,start])

       iterable:要统计的列表。

      start:表示统计结果是从那个数开始的(即在统计结果上加上start代表的数值),是可选参数,默认为零。

number = [12,34,23,25,45,56,37]
total1 = sum(number)
total2 = sum(number,100)
print(total1,total2)

六.对列表进行排序

     1.使用列表方法的sort( )实现

        列表对象提供了sort( )方法对原列表函数进行过排序。

        语法格式:

        listname.sort(key=Nonr,reverse=False)

        listname:要排序的列表名称。

        key:指定一个从每个列表元素中提取一个用于比较的键。

        reserve:可选参数,如果将其值定为True,则表示降序排列,定为False则为升序排列。默认升序排列。

number = [12,34,23,25,45,56,37]
print("原列表:")
number.sort()
print(number)# 升序排列
number = [12,34,23,25,45,56,37]
number.sort(reverse = True)
print(number)# 降序排列
# 采用sort( )对字符串列表进行排序时,先对大写字母进行排序,再对小写字母进行排序
char = ["Tom","Lili","alice","Angle","joe"]
char.sort()
print("区分大小写排序:",char)
char = ["Tom","Lili","alice","Angle","joe"]
char.sort(key = str.lower)
print("不区分大小写排序:",char)

      sort排序对中文支持不友好,若要实现对中文列表的排序,需要重新编写相应的方法进行处理,不可以直接使用sort( )方法。

   2.使用内置的sorted( )函数实现

      使用python提供的sorted( )函数进行排序后,原列表的元素顺序不变。

      语法格式:

      sorted(iterable,key=Mone,reverse=False)

      iterable:要进行排序的列表的名称。

      key:指定一个从每个列表元素中提取一个用于比较的键。

      reserve:可选参数,如果将其值定为True,则表示降序排列,定为False则为升序排列。默认升序排列。 

number = [12,34,23,25,45,56,37]
print("原列表:")
number_be = sorted(number)
print(number_be)# 升序排列
number = [12,34,23,25,45,56,37]
number_be = sorted(number,reverse = True)
print(number_be)# 降序排列
# 采用sorted( )对字符串列表进行排序时,先对大写字母进行排序,再对小写字母进行排序
char = ["Tom","Lili","alice","Angle","joe"]
char_be = sorted(char)
print("区分大小写排序:",char_be)
char = ["Tom","Lili","alice","Angle","joe"]
char_be = sorted(char,key = str.lower)
print("不区分大小写排序:",char_be)

     列表对象的sort( )方法和内置sorted( )函数的作用基本相同,所不同的就是sort( )方法改变原有列表元素的顺序,sorted( )函数       会建立一个原列表的副本,该副本为排序后的列表。

七.列表推导式

     使用列表推导式可以快速生成一个列表,或者根据列表生成满足指定需求的列表。

     1.生成指定范围的数值列表:

        语法格式:

        list = [Expression for var in range]

        list:生成的列表的名称。

        Expression:表达式,用于计算新的列表的元素。

        var:循环变量。

        range:采用range( )函数生成的range对象。

# 生成10个在10到50之间的随机数列表。
import random # 导入生成随机数的模块
random_number = [random.randint(10,50) for i in range(10)]
print("随机数数列:",random_number)

   

   2.根据列表生成指定需求的列表

      语法格式:

      newlist = [Expression for var in list]

      newlist:新生成的列表的名称。

      Expression:表达式,用于计算新的列表元素。

      var:变量,值为后面列表的每个元素值。

      list:原列表。

# 定义一个商品价格列表,生成商品全部七折的折后的价格列表。
price = [10,100,20,30,50,60,70]
new_price = [int(x*0.7) for x in price]
print("原价格:",price)
print("折后价格:",new_price)

  3.从列表中选择符合条件的元素组成新的列表

      语法格式:

      newlist = [Expression dor var in list if condition]

      newlist = [Expression for var in list]

      newlist:新生成的列表的名称。

      Expression:表达式,用于计算新的列表元素。

      var:变量,值为后面列表的每个元素值。

      list:原列表。

      condition:条件表达式,指定筛选条件。

# 定义一个商品价格列表,生成价格大于50的列表。
price = [10,104,20,37,55,63,72,66]
new_price = [x for x in price if x>50]
print("原价格:",price)
print("大于50:",new_price)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值