美文网首页
Python 列表、元组、字典和集合

Python 列表、元组、字典和集合

作者: Manchangdx | 来源:发表于2018-02-21 02:21 被阅读0次

一、列表

In [1]: test = list('abcdefg')

In [2]: test
Out[2]: ['a', 'b', 'c', 'd', 'e', 'f', 'g']

In [3]: test.append('h')       # 添加元素到列表末

In [4]: test
Out[4]: ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h']

In [5]: test.insert(2,'Kobe')  # 添加元素到指定下标位置

In [6]: test
Out[6]: ['a', 'b', 'Kobe', 'c', 'd', 'e', 'f', 'g', 'h']

In [7]: test.pop()             # 删除列表最后一个元素并弹出此元素
Out[7]: 'h'

In [8]: test
Out[8]: ['a', 'b', 'Kobe', 'c', 'd', 'e', 'f', 'g']

In [9]: test.pop(2)            # 删除指定下标元素并弹出此元素
Out[9]: 'Kobe'

In [10]: test
Out[10]: ['a', 'b', 'c', 'd', 'e', 'f', 'g']

In [11]: test.remove('g')      # 删除指定元素

In [12]: test
Out[12]: ['a', 'b', 'c', 'd', 'e', 'f']

In [13]: del test[-1]          # 删除指定下标元素

In [14]: test
Out[14]: ['a', 'b', 'c', 'd', 'e']

In [15]: test.reverse()        # 列表倒序排列并赋值到此列表

In [16]: test
Out[16]: ['e', 'd', 'c', 'b', 'a']

In [17]: wate = ['Kobe', 'Nash']  

In [18]: test.extend(wate)     # 把列表 wate 添加到列表 test 的末尾

In [19]: test
Out[19]: ['e', 'd', 'c', 'b', 'a', 'Kobe', 'Nash']

In [20]: sorted(test)          # 对列表排序并打印(原列表不变)
Out[20]: ['Kobe', 'Nash', 'a', 'b', 'c', 'd', 'e']

In [21]: test
Out[21]: ['e', 'd', 'c', 'b', 'a', 'Kobe', 'Nash']

In [22]: test.sort()           # 对列表排序并赋值到此列表

In [23]: test
Out[23]: ['Kobe', 'Nash', 'a', 'b', 'c', 'd', 'e']

二、元组

# 元组不可变,不能增删改,只能查
# 只有一个元素的元组,元素后要加逗号
In [23]: test
Out[23]: ['Kobe', 'Nash', 'a', 'b', 'c', 'd', 'e']

In [24]: t = tuple(test)

In [25]: t
Out[25]: ('Kobe', 'Nash', 'a', 'b', 'c', 'd', 'e')

In [26]: t[2:]
Out[26]: ('a', 'b', 'c', 'd', 'e')

三、字典

# 相比列表,字典占用内存较多,但查询速度较快
In [28]: d = {1:'Kobe', 2:'Nash', 3:'James', 4:'Wall'}

In [29]: d[5] = 'Irving'   # 添加元素

In [30]: d
Out[30]: {1: 'Kobe', 2: 'Nash', 3: 'James', 4: 'Wall', 5: 'Irving'}

In [31]: d.pop(5)          # 删除元素,无此元素会报错
Out[31]: 'Irving'

In [32]: d
Out[32]: {1: 'Kobe', 2: 'Nash', 3: 'James', 4: 'Wall'}

In [33]: del d[4]          # 删除元素,无此元素会报错

In [34]: d
Out[34]: {1: 'Kobe', 2: 'Nash', 3: 'James'}

In [35]: for key, value in d.items():
    ...:     print('{}: {}'.format(key, value))
    ...:     
1: Kobe
2: Nash
3: James

In [36]: for i in d.keys():
    ...:     print(i)
    ...:     
1
2
3

In [37]: for i in d.values():
    ...:     print(i)
    ...:     
Kobe
Nash
James

In [38]: d.get(3)             # 查询 value ,查不到不会报错
Out[38]: 'James'

In [39]: d.get(4, 'Nothing')  # 设置缺省值
Out[39]: 'Nothing'

四、集合

# 集合不能添加重复值
# True 与 1 被默认为同一个值,False 与 0 被认为是同一个值
In [64]: test
Out[64]: ['Kobe', 'Nash', 'c', 'd', 'e', 'e']

In [65]: s = set(test)   # 创建集合

In [66]: s
Out[66]: {'Kobe', 'Nash', 'c', 'd', 'e'}

In [67]: s.add('f')      # 添加元素

In [68]: s
Out[68]: {'Kobe', 'Nash', 'c', 'd', 'e', 'f'}

In [69]: s.remove('f')   # 删除元素

In [70]: s
Out[70]: {'Kobe', 'Nash', 'c', 'd', 'e'}

In [71]: 'f' in s        # 测试集合中是否有该元素
Out[71]: False 

In [72]: ss = set(list('defg'))

In [73]: ss
Out[73]: {'d', 'e', 'f', 'g'}

In [74]: s | ss          # 打印两个集合的并集
Out[74]: {'Kobe', 'Nash', 'c', 'd', 'e', 'f', 'g'}

In [75]: s & ss          # 打印两个集合的交集
Out[75]: {'d', 'e'}

In [76]: s ^ ss          # 打印在两个集合独有的元素
Out[76]: {'Kobe', 'Nash', 'c', 'f', 'g'}

In [77]: s - ss          # 打印在 s 中且不在 ss 中的元素
Out[77]: {'Kobe', 'Nash', 'c'}

相关文章

网友评论

      本文标题:Python 列表、元组、字典和集合

      本文链接:https://www.haomeiwen.com/subject/fdentftx.html