python学习笔记2.2_python数据结构(元组、列表与字典)

一、元组

(1)创建元组

  1)直接创建:tup=4,5,6

  或tup=((4,5,6),(7,8))

  2)tuple()函数,由列表创建:tup=tuple([4,0,2])#用tuple()函数直接由列表生成元组

(2)常用方法

tup[1].append(3)#在元组的第1个元素添加3;

tup.count(2)#统计元组中2出现的次数;

* rest

In [29]: values = 1, 2, 3, 4, 5

In [30]: a, b, *rest = values

In [31]: a, b
Out[31]: (1, 2)

In [32]: rest
Out[32]: [3, 4, 5]

 

二、列表

(1)创建列表

   1)直接创建:a_list=[2,3,4,none]

  2) list()函数,由元组创建:

In [36]: a_list = [2, 3, 7, None]

In [37]: tup = ('foo', 'bar', 'baz')

In [38]: b_list = list(tup)

In [39]: b_list
Out[39]: ['foo', 'bar', 'baz']

In [40]: b_list[1] = 'peekaboo'

In [41]: b_list
Out[41]: ['foo', 'peekaboo', 'baz']

(2)常用方法
.append('red'):在列表末尾添加元素
.insert(1,'red'):在列表特定的位置插入元素
.pop(1):移除并返回列表指定位置的元素
.remove('red')去除某个值,remove会先寻找第一个值并去除;
.sort(key=len)
sorted([1,2,4,3]):可以从任意序列的元素返回一个新的排好序的列表;
(前提已排序)bisect.bisect(c,2)可以找到插入值后应该插入的位置.
(前提已排序)
bisect.insort(c,6)是向这个位置插入值.

enumerate函数
for i,value in enumerate(collection):
  #do something with value
相当于:
i=0
for value in collection:
#do something with value
  i+=1 
zip函数:可以将多个列表、元组或其他序列成对组合成一个元组列表:
In [89]: seq1 = ['foo', 'bar', 'baz']

In [90]: seq2 = ['one', 'two', 'three']

In [91]: zipped = zip(seq1, seq2)

In [92]: list(zipped)
Out[92]: [('foo', 'one'), ('bar', 'two'), ('baz', 'three')]
reversed函数:可以从后向前迭代一个序列:
In [100]: list(reversed(range(10)))
Out[100]: [9, 8, 7, 6, 5, 4, 3, 2, 1, 0]

要记住reversed是一个生成器(后面详细介绍),只有实体化(即列表或for循环)之后才能创建翻转的序列。

(not)in可以检查列表是否包含某个值:将一个列表原地排序(不创建新的对象)
In [55]: 'dwarf' in b_list
Out[55]: True

 

三、字典

(1)创建字典

  1)直接创建:d1 = {'a' : 'some value', 'b' : [1, 2, 3, 4]}

  2)用序列创建:

   

(2)常用方法

    

 

 

  

 

 

 

 

 

 

 

 

 

 

 

 

posted on 2020-04-07 17:04  火龙果果儿  阅读(203)  评论(0)    收藏  举报

导航