Sammlung von grundlegenden Datentypen und Zeichencodierung

Eine Sammlung von

1. Definitionen

  {} Die Vielzahl der Elemente durch Kommata voneinander beabstandeten, Element die folgenden Bedingungen erfüllt:

    a, Elemente innerhalb des Satzes von unveränderlichem Typ

      Drucken (set ([1,1,1,1,1,1, [11.222]]) # error

    b, die ungeordnete Ansammlung von Elementen

    C, innerhalb des Satzes von Elementen nicht wiederholt werden können, zählen ein Wiederholungselement nur

2, integrierte Methode

Relationale Operatoren ============== =============

Freunde1 = { "Null", "Kevin", "Jason", "Egon"}
friends2 = { "Jy", "ricky", "jason", "egon"}

  a, auf dem Schnittpunkt: zwei Sätze der gleichen Elemente

    res = friends1 & friends2

  b, und nehmen Sie die Set / Sammlung: Alle Elemente des Satzes von zwei

    res = friends1 | friends2

  C, wobei die Differenz Satz einnehmen: ein Satz von gemeinsamen Elementen in der Extraktion wird die verbleibende Differenz set

    friends1 的: res = friends1 - friends2

    friends2 的: res = friends2 - friends1

  d, symmetrische Differenz: eine einzigartige Kombination von zwei Elementen, das heißt, Elemente gemeinsam Entfernen

    res = Freunde1 ^ Freunde2

  e, Elternteilmenge

    1, S1: {1,2,3}

       s2: {1,2,4} # Inklusion Beziehung ist nicht vorhanden

    drucken (s1> s2) #False

    nur 2, wenn der Satz von S1 S2 untergeordnet, s1 und s2 Satz Vater zu werden

      Wenn s1 = s2, die gegenseitige Elternteilmenge

================ =============== Deduplizierung

  Nur für unveränderlichen Typen kann nicht garantieren, dass die ursprüngliche Reihenfolge

l = [
    { 'Name': 'lili', 'Alter': 18, 'Sex': 'männlich'},
    { 'Name': 'jack', 'Alter': 73, 'Sex': 'männlich'},
    { 'Name': 'tom', 'Alter': 20, 'Sex': 'weiblich'},
    { 'Name': 'lili', 'Alter': 18, 'Sex': 'männlich'},
    { 'Name': 'lili', 'Alter': 18, 'Sex': 'männlich'},
]
new_l = []
für dic in l:
    wenn dic nicht in new_l:
        new_l.append (dic)

Drucken (new_l)
 

Andere integrierte Methode ####

s = {1,2,3}
Sie benötigen integrierte Methode haben
  1: Verwerfungs
    s.discard (4) # entfernt ein Element existiert nicht nichts tun
    drucken (e)
    s.remove (4), ein Element # entfernt keine Fehler existieren
  2: Update
    s.update ({1,3,5})
    drucken (e)
  3: pop
    res = s.pop ()
    Drucken (res)
  4: add
    s.add (4)
      drucken (e)
 

Zweizeichencodierung

Einzelheiten finden Sie unter: https: //zhuanlan.zhihu.com/p/108805502

## Analyse

  x = "上"
                    Speicher
Die Übersetzung ----- ------- „0101010
On "---- übersetzen" ----- 0101010
 
Zeichencodetabelle ist eine Tabelle der Korrespondenz zwischen Zeichen und Zahlen
 
 
A-00
B-01
C-10
D-11
 
ASCII-Tabelle:
    1, unterstützt nur englische Zeichenfolge
    2, 8-Bit-Binärzahl entsprechend einem englischen Zeichenfolge
 
GBK 表:
    1, unterstützt englische Zeichen, chinesisches Schriftzeichen
    2,
    8bit (8bit = 1Bytes) Binärzahl in eine englische Zeichenkette entspricht
    16bit (16bit = 2Bytes) entspricht eine binäre Zahlenfolge Chinesisch
 
 

unicode(内存中统一使用unicode):

    1、
        兼容万国字符
        与万国字符都有对应关系
    2、
    采用16位(16bit=2Bytes)二进制数对应一个中文字符串
    个别生僻会采用4Bytes、8Bytes
 
 
    unicode表:
                          内存
        人类的字符---------unicode格式的数字----------
                             |                     |
                             |                     |
                             |
                            硬盘                    |
                             |
                             |                     |
                             |                     |
                        GBK格式的二进制       Shift-JIS格式的二进制
 
        老的字符编码都可以转换成unicode,但是不能通过unicode互转
 
 
utf-8:
    英文->1Bytes
    汉字->3Bytes
 
 
 

结论:

    1、内存固定使用unicode,我们可以改变的是存入硬盘采用格式
        英文+汉字-》unicode-》gbk
        英文+日文-》unicode-》shift-jis
        万国字符》-unicode-》utf-8
 
    2、文本文件存取乱码问题
        存乱了:解决方法是,编码格式应该设置成支持文件内字符串的格式
        取乱了:解决方法是,文件是以什么编码格式存如硬盘的,就应该以什么编码格式读入内存
 
 
 

其他内置方法
s={1,2,3}
需要掌握的内置方法1discard
s.discard(4) # 删除元素不存在do nothing
print(s)
s.remove(4) # 删除元素不存在则报错


需要掌握的内置方法2update
s.update({1,3,5})
print(s)

需要掌握的内置方法3pop
res=s.pop()
print(res)

需要掌握的内置方法4add
s.add(4)
print(s)

Ich denke du magst

Origin www.cnblogs.com/NevMore/p/12482319.html
Empfohlen
Rangfolge