Python 列表的定义及操作

#   列表概念:有序的可变的元素集合

#   定义
#   直接定义
nums = [1,2,3,4,5]

#   通过range函数构造,python2 和python3 版本之间的差异;
#   python3 用的时候才会去构造
nums = range(1,101)

#   列表嵌套
#   注意和C语言中数组的区别,是否可以存放不同的数据类型
nums = [1,2,"ab","1",True,["a","b","c"]]

#   列表赋值给另外一个列表
#   原始的方式
nums = [1,2,3,4,5]
resultList = []
for num in nums:
    resultList.append(num ** 2)
print(resultList)   # [1, 4, 9, 16, 25]

#   列表推导式
nums = [1,2,3,4,5]
#   [表达式 for 变量 in 列表]
resultList = [num ** 2 for num in nums]
print(resultList)   # [1, 4, 9, 16, 25]

#   [表达式 for 变量 in 列表 if 条件]
resultList = [num ** 2 for num in nums if num % 2 != 0]
print(resultList)   # [1, 9, 25]

#   列表的增,删,改,插

#-------------------------------------增------------------------------------#
#     append
#         作用
#             往列表中, 追加一个新的元素
#             在列表的最后
#         语法
#             l.append(object)
#         参数
#             object
#                 想要添加的元素
#         返回值
#             None
#         注意
#             会直接修改原数组
nums = [1, 2, 3, 4]
nums.append(5) # 无返回值 none
print(nums) #   [1, 2, 3, 4, 5]

#     insert
#         作用
#             往列表中, 追加一个新的元素
#             在指定索引前面
#         语法
#             l.insert(index, object)
#         参数
#             index
#                 索引, 到时会插入到这个索引之前
#             object
#                 想要添加的元素
#         返回值
#             None
#         注意
#             会直接修改原数组
nums = [1, 2, 3, 4]
nums.insert(2, 5)
print(nums) #   [1, 2, 5, 3, 4]
#     extend
#         作用
#             往列表中, 扩展另外一个可迭代序列
#         语法
#             l.extend(iterable)
#         参数
#             iterable
#                 可迭代集合
#                     字符串
#                     列表
#                     元组
#                     ...
#         返回值
#             None
#         注意
#             会直接修改原数组
#             和append之间的区别
#                 extend可以算是两个集合的拼接
#                 append是把一个元素, 追加到一个集合中
nums = [1, 2, 3, 4]
nums2 = ["a", "b", "c"]
nums.extend(nums2)
print(nums) #   [1, 2, 3, 4, ‘a‘, ‘b‘, ‘c‘]

#     乘法运算
#         ["a"] * 3
#             =
#                 [‘a‘, ‘a‘, ‘a‘]
nums = [1, 2]
print(nums * 2) #   [1, 2, 1, 2]

#     加法运算
#         ["a"] + ["b", "c"]
#             =
#                 ["a", "b", "c"]
#         和extend区别
#             只能列表类型和列表类型相加

n1 = [1, 2]
n2 = ["a", "b"]
n3 = ["abc", "cdf"]
print(n1 + n2); #[1, 2, ‘a‘, ‘b‘]
print(n1 + n3); #[1, 2, ‘abc‘, ‘cdf‘]

# ------------------------------------------删------------------------------#
#     del 语句
#         作用
#             可以删除一个指定元素(对象)
#         语法
#             del 指定元素
#         注意
#             可以删除整个列表
#                 删除一个变量
#             也可以删除某个元素
nums = [1, 2, 3, 4]
del nums[1]
print(nums) #   [1, 3, 4]

#del nums #这样也行
#print(nums)#程序会报错

#     pop
#         作用
#             移除并返回列表中指定索引对应元素
#         语法
#             l.pop(index=-1)
#         参数
#             index
#                 需要被删除返回的元素索引
#                 默认是-1
#                     也就对应着列表最后一个元素
#         返回值
#             被删除的元素
#         注意
#             会直接修改原数组
#             注意索引越界
nums = [1, 2, 3, 4]
nums.pop() #默认-1
print(nums)

#     remove
#         作用
#             移除列表中指定元素
#         语法
#             l.remove(object)
#         参数
#             object
#                 需要被删除的元素
#         返回值
#             None
#         注意
#             会直接修改原数组
#             如果元素不存在
#                 会报错
#             若果存在多个元素
#                 则只会删除最左边一个
#             注意循环内删除列表元素带来的坑

nums = [1, 2, 2, 3, 4]
nums.remove(2) #则只会删除最左边一个
print(nums) #[1, 2, 3, 4]

# ---------------------------------------------改----------------------------------------#
#     names[index] = 666

nums = [1, 2, 3]
nums[1] = 5
print(nums) #[1, 5, 3]

#--------------------------------------------- 查----------------------------------------#
#     获取单个元素
#         items[index]
#             注意负索引
nums = [1, 2, 3]
print(nums[-1]) # 3

#     获取元素索引
#         index()
nums = [1, 2, 5, 3, 4]
print(nums.index(5))  # 2

#     获取指定元素个数
#         count()
nums = [1, 2, 5, 2, 3, 4]
print(nums.count(2) ) #2

#     获取多个元素
#         切片
#             items[start:end:step]
#     遍历
#         方式1
#             根据元素进行遍历
#                 for item in list:
#     print(item)
#         方式2
#             根据索引进行遍历
#                 for index in range(len(list)):
#     print(index, list[index])
#         方式3(了解)
#             创建对应的枚举对象
#                 概念
#                     通过枚举函数, 生成的一个新的对象
#                 作用
#                     函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列
#                     同时列出数据下标和数据
#                 语法
#                     enumerate(sequence, [start=0])
#                             sequence -- 一个序列、迭代器或其他支持迭代对象。
#                             start -- 下标起始位置。
#                 举例
#                     l = ["a", "b", "c"]
#                     enumerate(l, 1)
#                         一个待枚举的对象
#                         转换成为list之后, 具体数据如下
#                             [(1, ‘a‘), (2, ‘b‘), (3, ‘c‘)]
#             遍历枚举对象
#                 for index, value in 枚举对象:
#     print(index, value)
#         方式4(了解)
#             使用迭代器进行遍历
#                 iterL = iter(list)
#                 for item in iterL:
#     print(item)

# 访问集合的方式-迭代器
#     概念
#         迭代
#             是访问集合元素的一种方式
#             按照某种顺序逐个访问集合中的每一项
#         可迭代对象
#             能够被迭代的对象, 称为可迭代对象
#             判定依据
#                 能作用于for in
#             判定方法
#                 import collections
#                 isinstance(obj, collections.Iterable)
#         迭代器
#             是可以记录遍历位置的对象
#             从第一个元素开始, 往后通过next()函数, 进行遍历
#             只能往后, 不能往前
#             判定依据
#                 能作用于next()函数
#             判定方法
#                 import collections
#                 isinstance(obj, collections.Iterator)
#         注意
#             迭代器也是可迭代对象, 所以也可以作用于for in
#     为什么会产生迭代器?
#         1. 仅仅在迭代到某个元素时才处理该元素
#             在此之前, 元素可以不存在
#             在此之后, 元素可以被销毁
#             特别适合用于遍历一些巨大的或是无限的集合
#                 例如 "菲波那切数列"
#         2. 提供了一个统一的访问集合的接口
#             可以把所有的可迭代对象, 转换成迭代器进行使用
#             iter(Iterable)
#                 iter(str)
#                 iter(list)
#                 iter(tuple)
#                 iter(dict)
#                 ...
#     迭代器简单使用
#         使用next()函数, 从迭代器中取出下一个对象, 从第1个元素开始
#         因为迭代器比较常用, 所以在Python中, 可以直接作用于for in
#             内部会自动调用迭代器对象的next()
#             会自动处理迭代完毕的错误
#     注意事项
#         如果取出完毕,再继续取, 则会报错
#             StopIteration
#         迭代器一般不能多次迭代

import collections

nums = [1, 2, 3]
result = isinstance(nums, collections.Iterable)
print(result)   # True
result = isinstance(nums, collections.Iterator)
print(result)   # Flase

#   转为迭代器
it = iter(nums)

for v in it:
    print(v)

# 判定
#     元素 in  列表
#     元素 not in 列表

# 比较
#     cmp()
#         内建函数
#         如果比较的是列表, 则针对每个元素, 从左到右逐一比较
#             左 > 右
#                 1
#             左 == 右
#                 0
#             左 < 右
#                 -1
#         Python3.x不支持
#     比较运算符
#         ==
#         >
#         <
#         ...
#         针对每个元素, 从左到右逐一比较

# 排序
#     方式1
#         内建函数
#             可以对所有可迭代对象进行排序
#         语法
#             sorted(itrearble, key=None, reverse=False)
#         参数
#             itrearble
#                 可迭代对象
#             key
#                 排序关键字
#                 值为一个函数,此函数只有一个参数且返回一个值用来进行比较
#             reverse
#                 控制升序降序
#                 默认False
#                     升序
#         返回值
#             一个已经排好序的列表
#             列表类型
s = "cdefga"
result = sorted(s);
print(result)   #[‘a‘, ‘c‘, ‘d‘, ‘e‘, ‘f‘, ‘g‘]

s = [2,3,1,4,5]
result = sorted(s, reverse = True)
print(result)   #[5, 4, 3, 2, 1]

s = [("a", 16), ("a1",13), ("a2", 14)]
result = sorted(s)
print(result) #[(‘a‘, 16), (‘a1‘, 13), (‘a2‘, 14)]

#按元组的第一个元素来排序
def getKey(x):
    return x[1]
result = sorted(s, key=getKey)
print(result)   #[(‘a1‘, 13), (‘a2‘, 14), (‘a‘, 16)]

#     方式2
#         列表对象方法
#         语法
#             list.sort(key=None, reverse=False)
#         参数
#             key
#                 排序关键字
#                 值为一个函数,此函数只有一个参数且返回一个值用来进行比较
#             reverse
#                 控制升序降序
#                 默认False
#                     升序

s = [2,3,1,4,5]
res = s.sort()
print(res, s) # None [1, 2, 3, 4, 5]    注意和内建函数的方法不同点;

# 乱序
#     可以随机打乱一个列表
#         导入random模块
#             import random
#         random.shuffle(list)

import random
list = [1, 2, 3, 4, 5]
res = random.shuffle(list)
print(res, list)    #None [4, 3, 5, 2, 1] 后面序列随机,修改原序列的本身

# 反转
#     l.reverse()
list = [1, 2, 3, 4, 5]
res = list.reverse()
print(res, list)    #None [5, 4, 3, 2, 1]

#     切片反转
#         l[::-1]
list = [1, 2, 3, 4, 5]
res = list[::-1]
print(res, list) #[5, 4, 3, 2, 1] [1, 2, 3, 4, 5]

原文地址:https://www.cnblogs.com/delphiclub/p/8460575.html

时间: 2024-11-08 07:38:42

Python 列表的定义及操作的相关文章

Python列表类型及常用操作

Python列表类型 1.用途: 存放多个值,可以根据索引存取值 2.定义方式: 在[ ]内用逗号分割开多个任意类型的值 l=['yven','law','lyf'] #l=list(['yven','law','lyf']) list方法就相当于调用了一个for循环,依次取值放入列表,列表内的元素可以为任意的数据类型 3.常用操作极其内置方法 掌握优先级最高: 1.按照索引取值(正向取,反向取):既能取值也能改值 例如: 执行结果: 2.切片(顾头不顾尾):可以取出列表的部分元素,和实现列表反

python列表,元组的操作

python的列表是用于存放一组数据,表示形式 用 [ ]来表示 1,列表的常用方法: names = ['!alex', 'eric', 'rain', '2kity'] names.append('knochkapoor') #增加一个元素 names.count('alex') #统计alex数量 names.insert(0,'jlliu') #在第一个位置插入'julliu' names.remove('jlliu') #删除'jlliu' names.pop() #不加参数默认删除最

Python 列表的定义以及常用函数

定义: my_girl_friends=['aa','bb','cc',4,10,30] 或my_girl_friends=list(['aa','bb','cc',4,10,30]) # 获取类型 print(type(my_girl_friends)) #取第几个位置的取 print(my_girl_friends[2]) #取范围第几到第几的值 print(my_girl_friends[1:3]) # # 追加元素进去 my_girl_friends.append('oldboy') p

python列表和元组的操作

python list 获取列表内容 获取列表的长度: len(list) 元素item在列表中出现的次数: list.count(item) 获取元素item的索引: list.index(item) 在列表中添加元素 在列表末尾追加元素item: list.append(item) 在列表list1中追加list2中的元素: list1.extend(list2) 在指定位置插入元素: list.insert(index, item) a, b = [1, 2], [1, 2] a.appe

python列表操作大全

Python列表操作大全 对于python列表的理解可以和C语言里面的数组进行比较性的记忆与对照,它们比较相似,对于python里面列表的定义可以直接用方括号里加所包含对象的方法,并且python的列表是比较强大的,它包含了很多不同类型的数据:整型数字,浮点型,字符串以及对象等.定义举例如下: List1=[1,2,3,”hello world”,”3.1415926”,[1,2,3]] 对于python列表里元素的操作主要分为以下几个方面: 1. 向列表里面加元素: 2. 删减列表中的一些元素

Python列表操作集合

对于python列表里元素的操作主要分为以下几个方面: 1.向列表里面加元素: 向python列表里面添加元素主要有三种方法: (1)append() append()对于列表的操作主要实现的是在特定的列表最后添加一个元素,并且只能一次添加一个元素,并且只能在列表最后: m.append(元素A) (2)extend() extend()对于列表的操作主要实现的是对于特定列表的扩展和增长,可以一次添加多个元素,不过也只能添加在列表的最后: m.extend([元素A,元素B,--]) (3)in

Python 列表(list)操作

创建列表 sample_list = ['a',1,('a','b')] Python 列表操作 sample_list = ['a','b',0,1,3] 得到列表中的某一个值 value_start = sample_list[0] end_value = sample_list[-1] 删除列表的第一个值 del sample_list[0] 在列表中插入一个值 sample_list[0:0] = ['sample value'] 得到列表的长度 list_length = len(sa

python 列表的操作(添加删除)列表和元组的区别

python 列表的操作(添加删除) 1.列表的添加:append 和extend append 和extend 的区别:  append只能追加1个元素  ,extend可以追加多个 >>> lst1=[1,2,3,4] >>> lst1.append(5) >>> lst1 [1, 2, 3, 4, 5] >>> lst1.extend([6,7,8]) >>> lst1 [1, 2, 3, 4, 5, 6, 7

python列表、字典、字符串常用操作

Python 列表.字典.字符串常用操作 1.字符串操作 字符串可以通过下标取值,但由于字符串是不可变变量,不可通过下标来修改值. str = 'lily terry mark' name[0]    #获取第1个字符串值 name[0:7]   #获取第1~7的字符串值 name[:7]   #缺省开始位置,默认从第1个元素开始取值 name[0:]   #缺省结束位置,默认到字符串末尾结束 字符串包含判断操作符:in .not in .is 'lily' in names 'lily' no