Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Python menguasai dan biasa dengan senarai, nenek moyang, kamus dan set jenis data

Python menguasai dan biasa dengan senarai, nenek moyang, kamus dan set jenis data

王林
王林ke hadapan
2023-04-16 14:46:031076semak imbas

Python menguasai dan biasa dengan senarai, nenek moyang, kamus dan set jenis data

Objek jujukan (jujukan)

"Jujukan" ialah kaedah penyimpanan data yang sering digunakan dalam pengaturcaraan. Dalam bahasa pengaturcaraan lain, "jujukan" sering dipanggil "array", struktur data yang digunakan untuk menyimpan item data yang berkaitan. Hampir setiap bahasa pengaturcaraan menyediakan struktur data "jujukan", seperti tatasusunan satu dimensi dan berbilang dimensi dalam C dan Asas.

Perbezaan antara jujukan dan tatasusunan:

  • Tatasusunan menyediakan ruang memori berterusan yang boleh menyimpan jenis data yang sama.
  • Walaupun lajur ialah ruang storan berterusan, ia boleh menyimpan jenis data yang berbeza dan juga boleh difahami sebagai lebih "tatasusunan lanjutan".

【Objek Jujukan】

Objek jujukan yang biasa digunakan dalam python

  • Senarai Senarai (jenis data boleh ubah).
  • Tuple (jenis data tidak boleh ubah).
  • Set (jenis data boleh ubah).
  • Kamus Kamus (jenis data boleh ubah).
  • Rentetan Rentetan (tidak boleh ubah).
  • julat( ).

1. Senarai Senarai (jenis)

  • Senarai (senarai) ialah jenis data yang paling kerap digunakan dalam Python.
  • Senarai boleh melengkapkan pelaksanaan struktur data kebanyakan kelas koleksi. Ia menyokong aksara, nombor, rentetan dan juga boleh mengandungi senarai (iaitu bersarang).
  • Senarai ditandakan dengan "[ ]" dan merupakan jenis data komposit yang paling biasa dalam Python.

Cara membuat senarai

Sintaks: Nama objek senarai = [Elemen 1, Elemen 2, ..., Elemen N].

Python menguasai dan biasa dengan senarai, nenek moyang, kamus dan set jenis data

Contoh: Dua cara untuk mencipta objek senarai.

Kaedah 1: Kaedah lalai

列表对象= [元素1,元素2,元素3, ...元素N, ]
>>> list1 = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9,]
>>> list1
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> list2 = [‘a’, ’b’, ‘c’, ‘d’, ‘e’, ‘f’, ]
>>> list2
[‘a’, ’b’, ‘c’, ‘d’, ‘e’, ‘f’]
>>> list3 = [‘a’, 1 , True , ‘Hello’, ]
>>> list3
[‘a’, 1 , True , ‘Hello’]

Contoh: Dua cara untuk mencipta objek senarai.

Kaedah 2: Gunakan fungsi terbina dalam range0

  • Fungsi Python3 list) ialah lelaran objek, yang boleh menukar objek lelaran yang dikembalikan mengikut julat() kepada senarai, dan jenis pembolehubah yang dikembalikan untuk senarai.

Sintaks:

列表对象 = list(range(stop))
>>> list1 = list(range(10))
>>> list1
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> list2 = list(range(5, 10))
>>> list2
[5, 6, 7, 8, 9]
>>> list3 = list(range(0, 10, 2))
>>> list3
[0, 2, 4, 6, 8]

Fungsi terbina dalam Python3 range()

  • Fungsi Python3 range0 mengembalikan objek yang boleh diubah, bukan jenis senarai , jadi senarai tidak akan dicetak semasa mencetak.

Sintaks penciptaan

① range( stop )
② range(start, stop [, step])

Perihalan parameter:

  • mula: Pengiraan bermula dari mula. Lalai bermula dari 0. Contohnya: julat(5) bersamaan dengan julat(0, 5).
  • berhenti: Mengira sehingga dan termasuk berhenti. Contohnya: julat(0, 5) ialah [0, 1, 2, 3, 4] tanpa 5.
  • langkah: saiz langkah, lalai ialah 1. Contohnya: julat(0, 5) bersamaan dengan julat(0, 5, 1).

Bagaimana untuk mengakses senarai?

Anda juga boleh menggunakan [subskrip kepala: subskrip ekor: langkah] untuk memotong nilai dalam senarai, dan anda boleh memintas yang sepadan senarai.

  • Indeks subskrip dari kiri ke kanan bermula dengan 0 secara lalai, dan indeks subskrip dari kanan ke kiri bermula dengan -1 secara lalai.

Demonstrasi kod: ch03-demol-it-slicepy

Python menguasai dan biasa dengan senarai, nenek moyang, kamus dan set jenis data

Hasil berjalan:

Python menguasai dan biasa dengan senarai, nenek moyang, kamus dan set jenis data

Bolehkah elemen pertama dalam mList diubah suai?

Kemas kini senarai

  • Kemas kini yang dipanggil merujuk kepada penugasan semula, pemadaman dan penambahan elemen senarai dan operasi lain yang berkaitan .

Demo kod: cho3-dem2-istupdate.py

Python menguasai dan biasa dengan senarai, nenek moyang, kamus dan set jenis data

Hasil berjalan:

Python menguasai dan biasa dengan senarai, nenek moyang, kamus dan set jenis data

Operator senarai

  • Kami telah mempelajari tentang fungsi + dan * dalam pengenalan kepada rentetan Penggunaan senarai adalah serupa dengannya, dan terdapat juga operasi seperti len() dan in .

Demo kod: ch03-demo03-list-operation.py

Python menguasai dan biasa dengan senarai, nenek moyang, kamus dan set jenis data

Hasil jalankan:

Python menguasai dan biasa dengan senarai, nenek moyang, kamus dan set jenis data

Fungsi dalam senarai

Untuk mengendalikan objek senarai dengan lebih baik, Python juga menyediakan banyak fungsi:

① len(list) : 获取列表元素的个数;
② max(list) : 获取列表中的最大值;
③ min(list) : 获取列表中的最小值;
④ list(seq) : 将元组对象转换成列表对象。

Senarai juga menyediakan banyak kaedah:

① .append(obj) :在列表末尾添加一个元素;
② .count(obj) : 统计某个元素在列表中出现的次数;
③ .index(obj) : 从列表中找出某个值第一个匹配的索引位置;
④ .insert(index, obj) : 向指定位置前序添加一个元素
⑤ .remove(obj) : 移除一个指定的元素;
⑥ .reverse() : 反向列表中的元素;
⑦ .sort() : 对列表进行排序;

Perbezaan antara Senarai[] dan senarai[:]

  • '[] "Pengenalan ialah operasi rujukan biasa dan operasi pemindahan alamat.
  • "[: ] " logo ialah operasi penugasan biasa dan operasi lulus nilai.

Kod contoh:

List_1 = [ 1, 2, 3, 4]
List_2 = list_1

Python menguasai dan biasa dengan senarai, nenek moyang, kamus dan set jenis data

List_1 = [ 1, 2, 3, 4]
List_2 = list_1[:]

Python menguasai dan biasa dengan senarai, nenek moyang, kamus dan set jenis data

2、元组(Tuple)类型

  • Tuple(元组)类似于List(列表)。
  • 元组不能二次赋值(元组内的元素不允许更新),相当于只读列表。
  • 元组用"() "标识。内部元素用逗号隔开。

如何创建元组?

语法:

元组对象名称 = ( 元素1, 元素 2, ……, 元素N )。

Python menguasai dan biasa dengan senarai, nenek moyang, kamus dan set jenis data

元组的特点

元组与列表的所有操作基本类似,唯一不一样的地方是,元组的元素不允许被修改。

示例代码:

>>> tup1 = tuple(range(5))
>>> tup1
(0, 1, 2, 3, 4)
>>> tup2 = (5, 6, 7,)
>>> tup2
(5, 6, 7)

特别说明:

>>> tup1 = s(1)
>>> type(tup1)
>>> tup1 =(1,)
>>> tup1

3、字典( Dictionary)类型

  • 字典(dictionary)是除列表以外python之 中最灵活的内置数据结构类型。key:value
  • 字典当中的元素是通过键来存取的 ,而不是通过偏移存取。
  • 字典用"{}”标识。字典由索引(key)和它对应的值value组成,是一个典型的"k-v值”数据结构。

如何创建字典?

语法:

  • 字典对象名称 = { }。
  • 字典对象名称 = { key1 : value1, key2 : value2, …. , keyN : valueN}。

字典( Dictionary) k-v值在内存中的表现形式

Python 字典

  • k-v结构- 般情况下在操作访问的时候都会使用key索弓进行每个元素的读取操作。
  • 由于key索引键 会被频繁访问,因此索引键key存放在Stack栈内存中,而value值则存储在Heap堆内存中。

内存表现形式:

Python menguasai dan biasa dengan senarai, nenek moyang, kamus dan set jenis data

如何访问字典:

语法:

  • 字典对象名称[ key ] #访问key对应的value值。
  • 字典对象名称.keys #访问当前字典所有key索引键。
  • 字典对象名称.values #访问当前字典所有valeus值。

代码演示: ch03-demo04.py

Python menguasai dan biasa dengan senarai, nenek moyang, kamus dan set jenis data

运行结果:

Python menguasai dan biasa dengan senarai, nenek moyang, kamus dan set jenis data

如何修改字典?

字典更新指的是对字段元素的重新赋值、删除、添加等相关操作。

相关方法:

  • update( ) # 添加一个新元素或更新已有元素。
  • pop( ) # 删除指定元素。

代码演示: cho3-demo05.py

Python menguasai dan biasa dengan senarai, nenek moyang, kamus dan set jenis data

运行结果 :

Python menguasai dan biasa dengan senarai, nenek moyang, kamus dan set jenis data

4、集合Set

  • 集合是一个无序不重复元素的集。基本功能包括关系测试和消除重复元素。
  • 可以用大括号({)创建集合。 注意:如果要创建一个空集合,你必须用set)而不是{} ;后者创建一个空的字典。

集合的创建

obj1 = {1, 2, 3, 4, 5}
obj2 = ({6, 7, 8, 9})

集合Set的关系操作(交.并、补)

s = set([3,5,9,10]) #创建- -个数值集合
t = set("Hello") #创建一个唯一 字符的集合
a=t|s # t和s的并集,
b=t&s # t和s的交集
C=t-S #求差集(项在t中,但不在s中)
d=t^s #对称差集(项在域s中,不会同时出现在二者中)

基本操作:

t.add('x") #添加一项
s.update([10,37,42]) #在s中添加多项

Atas ialah kandungan terperinci Python menguasai dan biasa dengan senarai, nenek moyang, kamus dan set jenis data. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:51cto.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam