美文网首页
文件操作2,核心数据结构2

文件操作2,核心数据结构2

作者: 快去学习不然怎么去看aimer | 来源:发表于2019-08-25 21:55 被阅读0次

核心数据结构

在python中通过if...else 来实现分支结构的

arg = 1
if arg == 0:
    print('zero')
elif arg == 1:
    print('one')
elif arg == 2:
    print("two")
else:
    print("nothing")

当分支过多时,可以通过字典来实现分支结构

data = {
    0: "zero",
    1: "one",
    2: "two",
}
data.get(arg, "nothing")

字典的特殊方法:setdefault

data = [
        ("ip", "192.168.1.100"),
        ("ip", "192.168.1.200"),
        ("port", 22),
        ("user", "yangge"),
        ("user", "shark")
    ]

groups = {}
for item in data:
   li = d1.setdefault(item[0], [])
   li.append(item[1])
   print(d1)

setdefult的作用:当key存在时,返回已经存在的value,当key不存在时,将该键值对添加到字典中,同时返回value。

Ps:在python里,当key存在,当更新value时,不会创建新key

In [66]: y = {1.0: 'no'}
In [67]: y[True] = 'yes'
In [68]: y
Out[68]: {1.0: 'yes'}

集合:
在 python 中集合看起来像是只有 key 的字典:{'disk','cpu','memory','motherboard'},集合内的元素不允许重复。

In [96]: s1 = set()   字典的创建


In [99]: set('disk')
Out[99]: {'d', 'i', 'k', 's'}                               字典的转换
In [100]: set(['disk','cpu','memory'])
Out[100]: {'cpu', 'disk', 'memory'}
In [101]: set(('disk','cpu','memory'))
Out[101]: {'cpu', 'disk', 'memory'}
In [102]: set({'disk': '560G','cpu': '4'})
Out[102]: {'cpu', 'disk'}


In [11]: s2 = {12,3,4,5,6,}         添加数据
In [12]: s2.add('n')

In [15]: s2.remove('n')          删除元素

In [14]: s2.pop()         随机删除元素

集合运算

In [55]: s1 = {"192.168.1.51",  "192.168.1.45"}            交集

In [56]: s2 = {"192.168.1.51", "192.168.1.78", }

In [57]: s1 & s2
Out[57]: {'192.168.1.51'}
In [60]: s1 | s2
Out[60]: {'192.168.1.45', '192.168.1.51', '192.168.1.78'}     并集
In [55]: s1 = {"192.168.1.51", "192.168.1.45"}

In [56]: s2 = {"192.168.1.55", "192.168.1.51"}

In [61]: s1 - s2                                                                      差集
Out[61]: {'192.168.1.45'}

In [62]: s2 - s1
Out[62]: {'192.168.1.78'}
In [55]: s1 = {"192.168.1.51", "192.168.1.45"}

In [56]: s2 = {"192.168.1.55", "192.168.1.51"}           异或

In [63]: s1 ^ s2
Out[63]: {'192.168.1.45', '192.168.1.78'}

文件操作

with open('a.txt',
          'r',
          encoding='utf-8'
          ) as rf, open(
          '.a.txt.swap',
          'w',
           encoding='utf-8') as wf:
# 4. 把原文件删除
import os
os.remove('a.txt')

# 5. 把临时文件的文件名修改为 原文件的文件名
os.rename('.a.txt.swap', 'a.txt')

相关文章

网友评论

      本文标题:文件操作2,核心数据结构2

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