python基础----list列表、tuple、dict字典、set

list

  • python内置的一种数据结构
  • 有序
  • 可更改(添加、删除)

声明

  • >>> game = ["dota", "dota2", "lol"]
  • >>> game
  • ['dota', 'dota2', 'lol']

获取列表长度

  • >>> len(game)
  • 3

获取元素

  • >>> game[0]
  • 'dota'
  • >>> game[1]
  • 'dota2'
  • >>> game[2]
  • 'lol'
  • >>> game[3]
  • Traceback (most recent call last):
  • File "<stdin>", line 1, in <module>
  • IndexError: list index out of range
  • >>>
ruby

如果下标越界会报错

##更改

  • >>> game[0] = "dota3"
  • >>> game
  • ['dota3', 'dota2', 'lol']

增加元素

###末尾追加 >>> game.append("wow") >>> game[3] 'wow' >>> game ['dota', 'dota2', 'lol', 'wow']

###指定位置插入 >>> game.insert(2, "war3") >>> game ['dota', 'dota2', 'war3', 'lol', 'wow']

##删除元素

###删除末尾的元素 >>> game.pop() 'wow' >>> game ['dota', 'dota2', 'war3', 'lol']

###删除指定位置元素 >>> game.pop(1) 'dota2' >>> game ['dota', 'war3', 'lol']

#tuple

  • python内置的一种数据结构
  • 有序
  • 不可更改
  • 在赋值的时候决定所有元素

##声明 >>> game = ('dota', 'war3', 'lol') >>> game ('dota', 'war3', 'lol')

获取长度

  • >>> len(game)
  • 3

获取元素

  • >>> game[0]
  • 'dota'
  • >>> game[1]
  • 'dota2'
  • >>> game[2]
  • 'lol'
  • >>> game[3]
  • Traceback (most recent call last):
  • File "<stdin>", line 1, in <module>
  • IndexError: list index out of range
  • >>>
ruby

如果下标越界会报错

dict

  • python内置的一种数据结构
  • 无序
  • 可更改

类似于C++语言的map,存键值对,有很快的查找速度。比如根据身份证号查找某个人的名字,根据学号查找学生成绩单。用list遍历也可以得到结果,但是太慢了,list就好像你在一个小区找人,你一家一家敲门。dict就好像你直接按照地址X栋X单元X层直接找。 dict是典型的用空间换时间的例子。会占用大量内存,但是查找、插入速度很快,不会随着元素数量增加而增加。 list则是时间换空间的例子,不会占用大量内存,但是随着元素数量增多,查找时间会变很长。

声明

  • >>>name = {1: "alan", 2: "bob", 3: "lucy"}

查找

  • >>>name[1]
  • 'alan'
  • >>>name[2]
  • 'bob'
  • >>>name[3]
  • 'lucy'
  • >>> name[5]
  • Traceback (most recent call last):
  • File "<stdin>", line 1, in <module>
  • KeyError: 5
ruby

为了避免出现报错的情况我们一般事先判断一下这个key是否在字典中

  • >>> 5 in name
  • False

也可以用get方法取,如果key不存在,会返回None或者自己定义的默认值

  • >>> name.get(5)
  • >>> name.get(5, "default")
  • 'default'

更改

  • >>> name[4] = "mac"
  • >>> name
  • {1: "alan", 2: "bob", 3: "lucy", 4: "mac"}

删除

  • >>> name.pop(1)
  • 'alan'
  • >>> name
  • {2: 'bob', 3: 'lucy'}
ruby

元素个数

  • >>> len(name)
  • 2

获取所有key

  • >>> name.keys()
  • [2, 3]

获取所有value

  • >>> name.values()
  • ['bob', 'lucy']

获取所有键值对

  • >>> name.items()
  • [(2, 'bob'), (3, 'lucy')]

#set

  • python内置数据结构
  • 无序
  • 可更改

set可以视为没有value的dict,只存key,一般用做去重或者集合求交、求并等。

##声明

  • >>> girls_1 = set(['lucy', 'lily'])
  • >>> girls_2 = set(['lily', 'anna'])

求并、交

  • >>> girls_1 & girls_2
  • set(['lily'])
  • >>> girls_1 | girls_2
  • set(['lily', 'lucy', 'anna'])
gams

增加元素

  • >>> girls_1.add('marry')
  • >>> girls_1
  • set(['marry', 'lily', 'lucy'])

删除元素

  • >>> girls_1.remove('lucy')
  • >>> girls_1
  • set(['marry', 'lily'])
posted @ 2020-08-27 16:25  魏阳晨  阅读(181)  评论(0)    收藏  举报
AmazingCounters.com