Python 列表集合键值对

1. 集合 list

<pre>

定义(中括号)

names = ["吴亦凡", "李易峰", "鹿晗", "张艺兴", "黄子韬", ["邓超", "孙俪"]]

取值

names[0] # 吴亦凡
names[-1][0] # 邓超
names[-2] # 黄子韬

修改

names[0] = "吴亦凡小伙子"

元素个数

len(names) #返回 6

遍历

for name in names: print(name)

追加

names.append("邓超")

插入(索引,元素)

names.insert(1, "孙俪")

删除(索引)

names.pop() # 默认删除最后一个
names.pop(1)
</pre>

2. 元祖 tuple

与集合 list 几乎一样,下面列出的是不一样的

<pre>

定义(小括号)

_names = ("吴亦凡", "李易峰", "鹿晗", "张艺兴", "黄子韬", ["邓超", "孙俪"])
</pre>

  • 无法修改子元素
    例如_names[1] = "天才"会报错
  • 可以修改子元素中集合里的数据
    例如_names[-1][0] = “逗逼”
  • 只有一个元素的时候,需要加上逗号
    例如_names = ("元素", )

3. 字典 dict

  • 定义(大括号)
    <pre>
    keymap = {"one": 10, 'two': 20, "three": ["a", "b", "c"]}
    </pre>
  • 取值(key不存在则报错)
    <pre>

返回 10

keymap["one"]

报错

keymap["four"]

返回 10

keymap.get("one")

返回 None(命令行中不会显示)

keymap.get("ten")
</pre>

  • 赋值
    <pre>
    keymap["ten"] = 10
    </pre>
  • 判断key是否存在
    <pre>

返回 True

"one" in keymap
</pre>

  • 取出所有key
    <pre>keymap.keys()</pre>
  • 取出所有value
    <pre>keymap.values()</pre>

4. Set

dict 中 keys()方法和values()方法的返回值就是set

8. 备注

  • 还有个set用在什么地方的?没看懂
  • dict插入和查询方便简单快速,内存占用较多
  • list插入和查询复杂较慢,内存占用少
  • dict中元素的顺序不是固定的

推荐阅读更多精彩内容