ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

【Python】列表常用方法总结

2022-02-09 21:34:54  阅读:229  来源: 互联网

标签:总结 1994 Python list1 列表 python print python3


列表描述

  • 列表是Python中最基本的数据结构,是最常用的Python数据类型,列表的数据项不需要具有相同的类型
  • 列表是一种有序的集合,序列都可以进行的操作包括索引,切片,加,乘,检查成员。
  • Python已经内置确定序列的长度以及确定最大和最小的元素的方法。
  • 与字符串的索引一样,列表索引从0开始。列表可以进行截取、组合等。

创建列表

>>> list1 = ['python', 2018, 'python3', 1994]
>>> list1
['python', 2018, 'python3', 1994]

>>> list2 = [1, 2, 3, 4]
>>> list2
[1, 2, 3, 4]

>>> list3 = ['a', 'b', 'c', 'd']
>>> list3
['a', 'b', 'c', 'd']

获取列表元素个数(长度)

>>> list1 = ['python', 2018, 'python3', 1994]
>>> len(list1)
4

访问列表中的值

  1. 使用索引来访问列表中的值,列表的索引从0开始
>>> list1 = ['python', 2018, 'python3', 1994]
>>> list1[0]
'python'

注意:当索引超出范围时,Python会报一个IndexError错误,所以,要确保索引不要越界,记得最后一个元素的索引是len(list1) - 1。
2. 获取最后一个元素

>>> list1[-1]
1994

  1. 切片
  • 使用索引从列表中获取多个元素,叫列表分片
    截取列表前3个元素:
>>> list1 = ['python', 2018, 'python3', 1994]
>>> list1[0:3]
['python', 2018, 'python3']

>>> list1[:3]   #如果第一个索引是0,可以省略
['python', 2018, 'python3']

倒数切片:

>>> list1[-2:]  #获取后2个元素
['python3', 1994]

>>> list1[-2:-1] # 获取倒数第二个元素
['python3'] 

前4个元素,每两个取一个:

>>> list1[:4:2]
['python', 'python3']

所有元素,每3个取一个:

>>> list1[::3]
['python', 1994]

原样复制一个列表:

>>> list1[:]
['python', 2018, 'python3', 1994]

合并列表

>>> list1 = ['python', 2018, 'python3', 1994]
>>> list2 = [1, 2, 3, 4]
>>> list4 = list1 + list2
>>> list4
['python', 2018, 'python3', 1994,1, 2, 3, 4]

修改列表

用索引来修改元素

>>> list1
['python', 2018, 'python3', 1994]
>>> list1[1] = 2017
>>> list1
['python', 2017, 'python3', 1994]

删除列表元素

  1. remove(): 从列表删除你选择的元素,你不需要知道这个元素的具体位置,只需要知道它是否在列表中,如果不在列表中会报错.
list=['python', 2018, 'python3', 1994]
list.remove('python')
print(list)


[2018, 'python3', 1994]
  1. del: 利用索引从列表中删除元素
list=['python', 2018, 'python3', 1994]
del list[0]
print(list)


[2018, 'python3', 1994]
  1. pop():括号里没有提供参数时,pop()会返回最后一个元素,并把它从列表中删除。
    如果在括号中放入一个参数,pop(N)会给出这个索引位置上的元素,并把它从列表中删除
    1) 从列表中删除最后一个元素。可以为最后一个元素指派一个名字
list=['python', 2018, 'python3', 1994]
latlist=list.pop()
print(latlist)
print(list)


1994
['python', 2018, 'python3']

2)通过索引删除

list=['python', 2018, 'python3', 1994]
latlist=list.pop(1)
print(latlist)
print(list)


2018
['python', 'python3', 1994]

搜索列表

  1. in关键字:查找元素是否在列表中,如果在列表中会返回True,否则返回False
if 'a' in newList:
    print  ('find  a in newList')
else :
    print  ('do not  find  a in newList')

  1. index(): 查找元素在列表中的哪个位置(元素的索引),和remove()一样,如果没有找到这个元素会报错,最好和in结合使用
print (list.index('python'))

0

列表排序

  1. sort() : 按字母顺序从小到大进行排序,数字同理,永久排序
newList=[1,3,4,2]
newList.sort()
print(newList)


[1,2,3,4]

  1. reverse(): 按逆序排列.先按照正常的顺序排序,再reverse
    永久排序
newList.sort()
newList.reverse()
print(newList)


[4,3,2,1]

  1. sort(reverse = True):增加参数,直接逆序排列,永久排序
newList.sort(reverse = True)
print(newList)


[4,3,2,1]

  1. sorted(list,reverse=True、False): 按顺序排列,不影响原来的列表,临时排序。True 倒序,False正序
  2. reversed(list):临时倒序
old = [5,4,3,2,1]
new = sorted(old)
print(old)
print(new)
    
[5,4,3,2,1]
[1,2,3,4,5]

清空列表

>>> list1
['python', 2017, 'python3', 1994]
>>> list1.clear()
>>> list1
[]

向列表增加元素

  1. append(): 追加,在列表末尾增加一个元素。该方法无返回值,但是会修改原来的列表
list1 = ['Google', 'Runoob', 'Taobao']
list1.append('Baidu')
print ("更新后的列表 : ", list1)



更新后的列表 :  ['Google', 'Runoob', 'Taobao', 'Baidu']
  1. extend(): 向列表末尾增加多个元素,一次性追加另一个序列中的多个值(用新列表扩展原来的列表)。
list1 = ['Google', 'Runoob', 'Taobao']
list2=list(range(5)) # 创建 0-4 的列表
list1.extend(list2)  # 扩展列表
print ("扩展后的列表:", list1)


扩展后的列表: ['Google', 'Runoob', 'Taobao', 0, 1, 2, 3, 4]
  1. insert(index, obj): 在列表中的某个位置增加一个元素,不一定非要在列表末尾
list1 = ['Google', 'Runoob', 'Taobao']
list1.insert(1, 'Baidu')
print ('列表插入元素后为 : ', list1)



列表插入元素后为 :  ['Google', 'Baidu', 'Runoob', 'Taobao']

统计元素在列表中出现的次数

list.count(obj): 返回元素在列表中出现的次数,一个都没有返回0

aList = [123, 'Google', 'Runoob', 'Taobao', 123];

print ("123 元素个数 : ", aList.count(123))
print ("Runoob 元素个数 : ", aList.count('Runoob'))



123 元素个数 :  2
Runoob 元素个数 :  1

浅拷贝和深拷贝

  • copy.copy(li) 浅拷贝,对地址的拷贝,被拷贝的列表中可变类型改变,新的列表也会改变。不可变类型改变,新的列表不变
  • copy.deepcopy(li)深拷贝,对值的拷贝,产生新的列表与被拷贝的列表互不影响
  • li = old_li 赋值,两个变量都指向同一个内存块,修改li会对old_li产生影响,同理,修改old_li也会对li产生影响

数组遍历

lists = [1, 2, 3, 4, 5]

print("--------# 只遍历值------------")
# 只遍历值
for i in lists:
    print(i)

print("--------# 逆序遍历--1----------")

# 逆序遍历
for i in lists[::-1]:
    print(i)

print("--------# 逆序遍历--2----------")
# 逆序遍历
for i in range(len(lists), 0, -1):
    print(i)

print("--------# 遍历键和值--2----------")
# 遍历键和值
for idx, val in enumerate(lists):
    print(idx,':',val)


print("--------# 遍历键----------")
# 只遍历键
for idx in range(0, len(lists)):
    print(idx)

标签:总结,1994,Python,list1,列表,python,print,python3
来源: https://www.cnblogs.com/sophia12138/p/15876817.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有