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

列表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']=60
d['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 d
False

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

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

集合set:

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

>>> empty_set = set()
>>> empty_set
set()
>>> 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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值