Python笔记-list、tuple、dict、set及其比较

来源:互联网 发布:数据科学导论 编辑:程序博客网 时间:2024/05/16 06:29

列表list:

1、用[ ]或list( )创建,列表的值可重复

>>> classmates = ['Michael', 'Bob', 'Tracy']>>> classmates['Michael', 'Bob', 'Tracy']

2、用索引来访问list中每一个位置的元素,从0开始:

>>> classmates[0]'Michael'>>>arr = [[1, 2,  3],          [2, 4,  6],          [3, 6,  9],          [4, 8, 12]]>>>arr[1][1]  4        

如果要取最后一个元素,除了计算索引位置外,还可以用-1做索引,直接获取最后一个元素,以此类推,可以获取倒数第2个、倒数第3个:

>>> classmates[-1]'Tracy'>>> classmates[-2]'Bob'

3、list是一个可变的有序表,所以可以:

(1)追加元素到末尾

>>> classmates.append('Adam')>>> classmates['Michael', 'Bob', 'Tracy', 'Adam']

(2)把元素插入到指定的位置

>>> classmates.insert(1, 'Jack')>>> classmates['Michael', 'Jack', 'Bob', 'Tracy', 'Adam']

(3) 删除list末尾的元素,用pop()方法

>>> classmates.pop()'Adam'>>> classmates['Michael', 'Jack', 'Bob', 'Tracy']

(4)删除指定位置的元素,用pop(i)方法,或者del。删除指定值得元素用remove()

>>> classmates.pop(1)'Jack'>>> classmates['Michael', 'Bob', 'Tracy']>>>del classmates[-1] #删除最后一个>>>classmates.remove('Michael')

(5)把某个元素替换成别的元素,直接赋值

>>> classmates[1] = 'Sarah'

4、list里面的元素的数据类型可以不同,可以是另一个list

>>> L = ['Apple', 123, True]>>> s = ['python', 'java', ['asp', 'php'], 'scheme']

要拿到’php’用s[2][1],因此s可以看成是一个二维数组

5、len( )获取长度

>>> len(s)4

6、
sort( ):会对列表排序,并改变原列表
sorted():返回排序之后的列表副本,不改变原列表
默认是升序排列,令reverse=True可以改成降序

>>>classmates = ['Michael', 'Bob', 'Tracy']>>>sorted_classmates=sorted(classmates)>>>sorted_classmates['Bob', 'Michael', 'Tracy']>>>classmates['Michael', 'Bob', 'Tracy'] #没变>>>classmates.sort()>>>classmates['Bob', 'Michael', 'Tracy'] #变了>>>classmates.sort(reverse=True)>>>classmates['Tracy', 'Michael','Bob',] 

元祖tuple:

1、tuple一旦初始化就不能修改,长度也不能变,没有append(),insert()这样的方法。

classmate=('Bob','Jeff','Henry')

2、取值跟list一样,但是也是list是[ ],tuple是( )。

3、“可变的”tuple

>>> t = ('a', 'b', ['A', 'B'])>>> t[2][0] = 'X'>>> t[2][1] = 'Y'>>> t('a', 'b', ['X', 'Y'])

这个tuple定义的时候有3个元素,分别是’a’,’b’和一个list,list可变导致了这个“可变的”tuple。

字典 dict:

1、使用键-值(key-value)存储,用{ }表示

d = {'Michael': 80, 'Bob': 75, 'Tracy': 85}>>> d['Michael']80

2、用[key]添加或修改元素

d['Jim']=60d['Bob']=50

3、用del删除具有指定键的元素

del d['Bob']

4、用update()合并字典

other={'Tom':30,'Mar':90}d.update(other)>>>d{'Mar':90,'Tracy': 85,'Tom':30,'Michael': 80, 'Bob': 75}

5、用keys()获取所有键

>>>d.keys()dict_keys(['Michael', 'Bob','Tracy','Tom','Mar'])

6、用values()获取所有值

>>>d.values()dict_values([80,75,85,30,90])

7、用items()获取所有键值对

>>>list(d.items())[('Bob', 75), ('Mar', 90), ('Tom', 30), ('Michael', 80), ('Tracy', 85)]

8、判断某个key是否存在
通过in判断

>>> 'Thomas' in dFalse

通过get()判断,如果key不存在,可以返回None(此时命令行不显示结果),或者自己指定的value。

>>> d.get('Thomas')>>> d.get('Thomas', -3)-3

集合set:

1、用set()创建集合,或者用大括号将一系列以逗号隔开的值包裹起来。集合是无序的。

>>> empty_set = set()>>> empty_setset()>>> even_numbers = {0, 2, 4, 6, 8}>>> even_numbers{0, 8, 2, 4, 6}>>> odd_numbers = {1, 3, 5, 7, 9}>>> odd_numbers{9, 3, 1, 5, 7}

2、集合的组合
交集:&或者intersection()
并集: | 或者union()
差集: - 或者difference()

>>> a = {1, 2}>>> b = {2, 3}>>> a & b{2}>>> a.intersection(b){2}>>> a | b{1, 2, 3}>>> a.union(b){1, 2, 3}>>> a - b{1}>>> a.difference(b){1}

比较这几种数据结构

1、方括号[]创建列表
2、逗号创建元组
3、花括号{}创建字典

>>> a_list = ['Groucho', 'Chico', 'Harpo']>>> a_tuple = 'Groucho', 'Chico', 'Harpo'>>> a_dict = {'Groucho': 'banjo', 'Chico': 'piano', 'Harpo': 'harp'}>>> a_list[2]'Harpo'>>> a_tuple[2]'Harpo'>>> a_dict['Harpo']'harp
0 0
原创粉丝点击