Python3中对数据类型List的相关操作(測試版本Python3.6,測試環境Anaconda)

因为学完了Python中数据类型List的章节,所以对个别常用相关操作做个汇总,日后再慢慢增加,做个备忘


1. 创建List数据类型操作

    1)使用 list() 函数可以创建一个空链表,将其赋值给一个变量即可以方便的对其进行操作和使用

    2)使用 [ ] 也可以创建一个空链表,将其赋值给一个变量即可以方便的对其进行操作和使用

>>>listDemo1 = list()
>>>print (listDemo1)
>>>[]
>>>
>>>listDemo2 = []
>>>print (listDemo2)
>>>[]
>>>

2.向List中添加元素

  1)直接创建的时候向list赋值:

>>>listDemo3 = [1, 2, 3, 4, 5, 6]
>>>print (listDemo3)
>>>[1, 2, 3, 4, 5, 6]
>>>
>>>listDemo4 = [1, 'a', 3.4, [5, 6]]
>>>print (listDemo4)
>>>[1, 'a', 3.4, [5, 6]]
>>>

  2)使用append()向list添加元素(PS:append是向链表中添加元素,就算是添加链表也是作为原链表的元素,如下图所示)

>>>listDemo1.append(1)
>>>print (listDemo1)
>>>[1]
>>>
>>>listDemo1.append([1, 2, 3])
>>>print (listDemo1)
>>>[1, [1, 2, 3]]
>>>

 3)使用extend()向list添加元素(书上说是扩展,这边只是为了好归纳这样写,不必纠结字面意思,真正了解添加后是什么样的存        在才是核心)

>>>test1 = [1, 2, 3]
>>>test2 = [4, 5, 6]
>>>test1.extend(test2)
>>>print (test1)
>>>[1, 2, 3, 4, 5, 6]
>>>

3. 删除List中的元素

   1)使用pop(i)函数删除List中的元素(使用下标删除)

         PS:该函数返回被删除的位于List[i]的值(i从0开始), 默认参数为-1,所以如果不提供参数将会删除List最后一个元素

>>>print (listDemo1)
>>>[1, [1, 2, 3]]
>>>listDemo1.pop()
>>>[1, 2, 3]
>>>print (listDemo1)
>>>[1]
>>>
>>>print (listDemo3)
>>>[1, 2, 3, 4, 5, 6]
>>>listDemo3.pop(0)
>>>1
>>>print (listDemo3)
>>>[2, 3, 4, 5, 6]
>>>

   2)使用del 删除list中的值(不返回删除的值,使用下标删除)

>>>print (listDemo3)
>>>[2, 3, 4, 5, 6]
>>>
>>>del listDemo3[1]
>>>
>>>print (listDemo3)
>>>[2, 4, 5, 6]
>>>
>>>del listDemo[1:3]  #不明白这个下标的意思可以接着往下面对List的操作,该操作实现了删除多个元素
>>>
>>>print (listDemo3)
>>>[2, 6]
>>>

   3)使用remove(x)对元素进行操作(对值进行操作)

        PS:不返回删除元素,该函数删除List中第一个出现的x

>>>listDemo5 = [1, 2, 3, 3, 4, 5]
>>>print (listDemo5)
>>>[1, 2, 3, 3, 4, 5]
>>>
>>>listDemo5.remove(3)
>>>
>>>print (listDemo5)
>>>[1, 2, 3, 4, 5]

4. 修改List中的元素

   1)通过下标对List中的元素进行修改

>>>print (listDemo3)
>>>[2, 6]
>>>
>>>listDemo3[1] = 7
>>>
>>>print (listDemo3)
>>>[2, 7]
>>>
>>>listDemo1 = [1, 2, 3, 4, 5, 6]
>>>listDemo1[1:3] = ['x', 'y', 'z']
>>>print (listDemo1)
>>>[1, 'x', 'y', 'z', 4, 5, 6]
>>>
>>>listDemo1[1:3:2] = ['m']
>>>print (listDemo1)
>>>[1, 'm', 'y', 'z', 4, 5, 6]
>>>

5. 排序List中的元素

    1)使用sort()函数对List进行排序

         PS:最好List中元素是同一种类型,默认从小到达进行排序

>>>listDemo1 = [1, 3, 2, 5, 4]
>>>print (listDemo1)
>>>[1, 3, 2, 5, 4]
>>>
>>>listDemo1.sort()
>>>
>>>print (listDemo1)
>>>[1, 2, 3, 4, 5]
>>>

 


--------该水平线以上对List的操作是会真正改变到List的操作,如下操作不会改变到原有List,至于为什么以后学到再写吧 --------


 

6. 查询List中的元素

   1)循环遍历链表所有元素(当然也可以直接打印单个元素下标的方法)

>>>print (listDemo5)
>>>[1, 2, 3, 4, 5]
>>>
>>>for val in listDemo5:
       print (val, end = ' ')  #print函数默认会自己换行,这样只是不让他换行而已,重点在输出内容         
>>>1 2 3 4 5 
>>>
>>>for i in range(len(listDemo5))  #i = [ 0, len(listDemo5) )
       print (listDemo5[i], end = ' ')
>>>1 2 3 4 5
>>>

 2)其他相关查询操作可以参考文章中对bisect模块的说明

 

7. 对List的其他相关操作

   1)List间的 + 和 * 操作( * 操作可以看作是好几个 + 操作)

         PS:按照自己练习的情况来看能用append()函数操作和+操作达到同样效果的时候,尽量使用append()函数,大批量操作的             时候尤其明显(书上是说+是创建一个新的链表,append是添加,可能也就是因为这个原因)

>>>listDemo1 = [1, 2, 3]
>>>listDemo2 = ['a', 'b', 'c']
>>>listDemo3 = listDemo1 + listDemo2
>>>print(listDemo3)
>>>[1, 2, 3, 'a', 'b', 'c']
>>>
>>>[1, 2] * 3            #可以看成[1, 2] + [1, 2] + [1, 2]
>>>[1, 2, 1, 2, 1, 2]
>>>

   2)List的切片相关操作(就是你在之前几个操作中看不懂的那个符号:))

         先简单归纳一下,再看具体操作结果:
         List(a:b:c): a代表起始位置(省略代表从头开始),b代表结束位置(省略代表到List结尾)(一般操作的时候会包含起始位           置,不包含结束位置,具体理解可以结合实际操作), c表示步长即从a到b每个c-1个单位算一个元素(省略代表步长为               1)(具体理解看操作结果) 

>>>listDemo = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>>listDemo[1:5]
>>>[1, 2, 3, 4]
>>>
>>>listDemo[1:5:2]
>>>[1, 3]
>>>
>>>listDemo[ : 5]
>>>[0, 1, 2, 3, 4]
>>>
>>>listDemo[ :5:2]
>>>[0, 2, 4]
>>>
>>>listDemo[5: ]
>>>[5, 6, 7, 8, 9]
>>>
>>>listDemo[5::2]
>>>[5, 7, 9]
>>>
>>>listDemo[:]
>>>[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>>

   3)对List使用SUM()函数对元素进行求和(PS:最好都是数字)

>>>print (listDemo5)
>>>[1, 2, 3, 4, 5]
>>>
>>>sum(listDemo5)
>>>15
>>>

   4)部分字符串和列表之间的相互转换

#字符串转换成列表

>>>strDemo = "exchange"
>>>listDemo = list(strDemo)
>>>print (listDemo)
>>>['e', 'x', 'c', 'h', 'a', 'n', 'g', 'e']
>>>
>>>'1,2,3'.split(',')
>>>['1', '2', '3']
>>>
>>>'1,2,,3,'.split(',')
>>>['1', '2', '', '3', '']
>>>
>>> '   1   2   3   '.split()
>>>['1', '2', '3']
>>>

#列表转换成字符串
>>>listDemo = ['a', 'b', 'c', 'h'] 
>>>delimiter = '+'
>>>delimiter.join(listDemo) 
>>>'a+b+c+h'
>>>

 

8. List的其他相关注意事项

    1) 话不多说直接代码更直观,应该都能理解吧

#is 指的是两个变量是否是指向同一片内存空间,如果是指向同一片内存空间,那一个被改变了另一个肯定也会跟着被改变
>>>str1 = "abcdef"
>>>str2 = "abcdef"
>>>str1 is str2 
>>>True
>>>
>>>list1 = ['1', '2', '3']
>>>list2 = ['1', '2', '3']
>>>list1 is list2
>>>False
>>>
>>>list3 = ['1', '2', '3']
>>>list4 = list3
>>>list4 is list3
>>>True
>>>

 

 

 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值