Nhảy chuyển đến

Python học cấp tốc

Về Python

Python là một môn đã ở trên thế giới rộng khắp sử dụng giải thích hình ngôn ngữ. Nó cung cấp hiệu suất cao cao cấp số liệu kết cấu, còn có thể đơn giản hữu hiệu mặt đất hướng đối tượng biên trình, cũng có thể ở thuật toán thi đua.

Python ưu điểm

  • Python là một mônGiải thích hìnhNgôn ngữ: Python không cần biên dịch cùng liên tiếp, có thể ở trình độ nhất định thượng giảm bớt thao tác bước đi.
  • Python là một mônLẫn nhau thứcNgôn ngữ: Python giải thích khí thực hiện lẫn nhau thức thao tác, có thể trực tiếp ở đầu cuối đưa vào cũng chấp hành mệnh lệnh.
  • PythonDễ học dễ dùng:Python cung cấp đại lượng số liệu kết cấu, cũng duy trì khai phá đại hình trình tự.
  • PythonKiêm dung tính cường:Python đồng thời duy trì Windows, macOS cùng Unix thao tác hệ thống.
  • PythonThực dụng tính cường:Từ đơn giản đưa vào phát ra đến khoa học tính toán thậm chí còn đại hình WEB ứng dụng, đều có thể viết ra thích hợp Python trình tự.
  • PythonTrình tự ngắn gọn, dễ đọc:Python số hiệu thông thường so thực hiện cùng loại công năng mặt khác ngôn ngữ số hiệu đoản.
  • PythonDuy trì mở rộng:Python sẽ khai phá C ngôn ngữ trình tự ( tức CPython ), duy trì đem Python giải thích khí cùng dùng C ngôn ngữ khai phá ứng dụng liên tiếp, dùng Python mở rộng cùng khống chế nên dùng.

Học tập Python những việc cần chú ý

  • Trước mắt chủ yếu sử dụng Python phiên bản là Python 3.7 cập trở lên phiên bản, Python 2 cùng Python 3.6 cập trước kia Python 3 đãKhông bị duy trì,Nhưng vẫn bị một ít cũ xưa hệ thống cùng số hiệu sở sử dụng. Bổn văn đemGiới thiệu so tân phiên bản Python.Nếu gặp được Python 2 số hiệu, có thể nếm thử2to3Trình tự đem Python 2 số hiệu thay đổi vì Python 3 số hiệu.
  • Python thiết kế lý niệm cùng ngữ pháp kết cấuCùng một ít mặt khác ngôn ngữ sai biệt trọng đại,Ẩn tàng rồi rất nhiều tầng dưới chót chi tiết, cho nên bày biện ra thực dụng mà ưu nhã phong cách.
  • Python là độ cao động thái giải thích hình ngôn ngữ, bởi vậy nàyTrình tự vận hành tốc độ tương đối so chậm,Đặc biệt ở sử dụng này nội tríforTuần hoàn câu nói khi. Ở sử dụng Python khi, ứng tận lực sử dụngfilter,mapChờ nội trí hàm số, hoặc sử dụngDanh sách sinh thànhNgữ pháp thủ đoạn nhắc tới độ cao tự tính năng.

Hoàn cảnh dựng

Tham kiếnPython 3.Hoặc là:

  • Windows: Cũng có thể ở Microsoft Store trung miễn phí mà mau lẹ mà thu hoạch Python.
  • macOS/Linux: Trong tình huống bình thường, đại bộ phận Linux phát hành bản trung đã tự mang theo Python. Nếu chỉ tính toán học tập Python ngữ pháp, cũng không cái khác khai phá nhu cầu, không cần mặt khác trang bị Python.

    Chú ý

    Ở một ít cam chịu trang bị ( chỉ sử dụng phần mềm bảo đảm lý khí trang bị ) Python hệ thống ( như Unix hệ thống ) trung, ứng ở đầu cuối trung vận hànhPython 3Mở ra Python 3 giải thích khí.1

Ngoài ra, cũng có thể thông qua venv, conda, Nix chờ công cụ quản lý Python công cụ liên cùng Python phần mềm bao, sáng tạo cách ly giả thuyết hoàn cảnh, tránh cho xuất hiện ỷ lại vấn đề.

Làm một loại giải thích hình ngôn ngữ, Python chấp hành phương thức cùng C++ có điều bất đồng, loại này sai biệt ở sử dụng IDE biên trình khi thường thường không chiếm được thể hiện, bởi vậy nơi này yêu cầu cường điệu một chút vận hành trình tự bất đồng phương thức.

Đương ở mệnh lệnh hành trung kiện nhậpPython 3Hoặc vừa mới mở ra IDLE khi, ngươi thực tế tiến vào một loại lẫn nhau thức biên trình hoàn cảnh, cũng xưng “REPL” ( “Đọc lấy - cầu giá trị - phát ra” tuần hoàn ), người mới học có thể ở chỗ này đưa vào câu nói cũng lập tức nhìn đến kết quả, cái này làm cho nghiệm chứng một ít ngữ pháp trở nên cực kỳ dễ dàng, chúng ta cũng đem ở phía sau văn trung đại lượng sử dụng loại này hình thức.

Nhưng nếu muốn biên soạn hoàn chỉnh trình tự, ngươi tốt nhất vẫn là tân kiến một cái văn bản văn kiện ( thông thường hậu tố vì.py), sau đó ở mệnh lệnh hành trung chấp hànhPython 3 filename.py,Là có thể đủ vận hành số hiệu nhìn đến kết quả.

Thông qua cảnh trong gương download trang bị văn kiện

Trước mắt quốc nội vềNguyên mãCảnh trong gương hoãn tồn chủ yếu làBắc Kinh giao thông đại học tự do cùng khai nguyên phần mềm cảnh trong gương trạmCùngHoa vì khai nguyên cảnh trong gương trạm,Có thể tới đó nếm thử download Python trang bị văn kiện.

Sử dụngpipTrang bị kẻ thứ ba kho

Python sinh mệnh lực rất lớn trình độ đi lên tự với phong phú kẻ thứ ba kho, biên soạn một ít thực dụng trình tự khi “Điều kho” là thường quy thao tác,pipLà đầu tuyển trang bị kẻ thứ ba kho trình tự. Tự Python 3.4 phiên bản khởi, nó bị cam chịu bao hàm ở Python cơ số hai trang bị trình tự trung.

pipTrung kẻ thứ ba kho chủ yếu tồn trữ ởPython bao hướng dẫn tra cứu ( PyPI )Thượng, người dùng cũng có thể chỉ định cái khác kẻ thứ ba kho uỷ trị ngôi cao. Sử dụng phương pháp nhưng tham chiếupypi cảnh trong gương sử dụng trợ giúp - đại học Thanh Hoa khai nguyên phần mềm cảnh trong gương trạmChờ sử dụng trợ giúp. Ngươi có thể ởMirrorZThượng thu hoạch càng nhiều PyPI cảnh trong gương nguyên.

Cơ bản ngữ pháp

Python ngữ pháp ngắn gọn mà dễ hiểu, cũng có rất nhiều phía chính phủ cùng kẻ thứ ba hồ sơ cùng giáo trình. Nơi này chỉ giới thiệu một ít đối OIer tương đối thực dụng ngôn ngữ đặc tính, ngươi có thể ởPython hồ sơCùngPython WikiChờ trang web thượng hiểu biết càng nhiều về Python giáo trình.

Chú thích

Gia nhập chú thích cũng không sẽ đối số hiệu vận hành sinh ra ảnh hưởng, nhưng gia nhập chú thích có thể sử số hiệu càng thêm dễ hiểu dễ dùng.

1
2
3
4
5
6
7
# dùng # tự phù mở đầu chính là đơn hành chú thích

"""
Vượt nhiều hành tự phù xuyến sẽ dùng tam dấu ngoặc kép
( tức ba cái đơn dấu ngoặc kép hoặc ba cái song dấu ngoặc kép )
Bao vây, nhưng cũng thông thường bị dùng cho chú thích
"""

Gia nhập chú thích số hiệu cũng không sẽ đối số hiệu sinh ra ảnh hưởng. Chúng ta cổ vũ gia nhập chú thích đại sứ số hiệu càng thêm dễ hiểu dễ dùng.

Cơ bản số liệu loại hình

Hết thảy toàn đối tượng

Ở Python trung, ngươi không cần trước đó thanh minh lượng biến đổi danh và loại hình, trực tiếp phú giá trị có thể sáng tạo các loại loại hình lượng biến đổi:

1
2
3
4
5
6
7
8
9
10
11
12
13
>>>x=-3# câu nói kết cục không cần thêm chi nhánh
>>>x
-3
>>>f=3.1415926535897932384626;f# thật sự tưởng thêm chi nhánh cũng có thể, nơi này tiết kiệm một hàng
3.141592653589793
>>>s1="O"
>>>s1# như thế nào biểu hiện thành đơn dấu ngoặc kép? Có khác nhau sao?
'O'
>>>b='A'==65# rõ ràng ở C/C++ trung là thành lập
>>>b# không giống người thường chính là True, False đầu chữ cái đều viết hoa, khả năng cùng nội trí đại lượng không đổi mệnh danh ước định có quan hệ
False
>>>True+1==2andnotFalse!=0# Python khả năng thích từ đơn thắng qua ký hiệu
True

Nhưng này không đại biểu Python không có loại hình khái niệm, trên thực tế giải thích khí sẽ căn cứ phú giá trị hoặc giải toán tự động suy đoán lượng biến đổi loại hình, ngươi có thể sử dụng nội trí hàm sốtype()Xem xét này đó lượng biến đổi loại hình:

1
2
3
4
5
6
7
8
>>>type(x)
&LTclass 'int'>
>>>type(f)
&LTclass 'float'>
>>>type(s1)# thỉnh chú ý, không cần cấp tự phù xâu lên tên là str, không tin thử xem xem hay không thật sự có thể làm như vậy
&LTclass 'str'>
>>>type(b)
&LTclass 'bool'>
Nội trí hàm sốLà cái gì?

Ở C/C++ trung, rất nhiều thường dùng hàm số đều phân tán ở bất đồng đầu văn kiện trung, nhưng Python giải thích khí nội trí rất nhiều thực dụng thả thông dụng hàm số, ngươi có thể trực tiếp sử dụng mà không cần chú ý chúng nó tồn tại, nhưng này cũng mang đến vấn đề nhỏ, này đó nội trí hàm số tên nhiều vì thường thấy từ đơn, ngươi yêu cầu chú ý tránh cho cho chính mình lượng biến đổi khởi tương đồng tên, nếu không khả năng sẽ sinh ra kỳ quái kết quả.

Chính như chúng ta chỗ đã thấy, Python nội trí có số nguyên, phù điểm số, tự phù xuyến cùng bố ngươi loại hình, có thể tương tự vì C++ trungint,float,stringCùngbool.Nhưng có một ít rõ ràng bất đồng chỗ, tỷ như không cócharTự phù loại hình, cũng không códoubleLoại hình ( nhưngfloatKỳ thật đối ứng C trung song độ chặt chẽ ), nếu yêu cầu càng chính xác phù điểm giải toán, có thể sử dụng tiêu chuẩn kho trungdecimalMô khối, nếu yêu cầu dùng đến số nhiều, Python còn nội trícomplexLoại hình ( mà này cũng ý nghĩa tốt nhất không cần cấp lượng biến đổi đặt tên vìcomplex). Có thể nhìn đến này đó loại hình đều lấyclassMở đầu, mà đây đúng là Python bất đồng với C++ mấu chốt chỗ, Python trình tự trung sở hữu số liệu đều là từ đối tượng hoặc đối tượng gian quan hệ tới tỏ vẻ, hàm số là đối tượng, loại hình bản thân cũng là đối tượng:

1
2
3
4
5
6
>>>type(int)
&LTclass 'type'>
>>>type(pow)# cầu mịch thứ nội trí hàm số, sau văn hội giới thiệu
&LTclass 'builtin_function_or_method'>
>>>type(type)# type() cũng là nội trí hàm số, nhưng có chút đặc thù, cảm thấy hứng thú nhưng tự hành tìm đọc
&LTclass 'type'>

Ngươi có lẽ sẽ cảm thấy này đó khái niệm nhất thời khó có thể lý giải thả không có tác dụng, cho nên chúng ta tạm thời không hề thâm nhập, ở phía sau văn thí dụ mẫu trung ngươi có lẽ có thể chậm rãi cảm nhận được, Python đối tượng cung cấp cường đại phương pháp, chúng ta tại lập trình khi hẳn là ưu tiên suy xét quay chung quanh đối tượng mà không phải quá trình tiến hành thao tác, này sẽ làm chúng ta số hiệu có vẻ càng thêm chặt chẽ rõ ràng.

Con số giải toán

Có người nói, ngươi có thể đem ngươi hệ thống trang Python làm như một cái đa dụng tính toán khí, đây là sự thật.
Ở lẫn nhau hình thức hạ, ngươi có thể ở nhắc nhở phù>>>Mặt sau đưa vào một cái biểu đạt thức, tựa như mặt khác đại bộ phận ngôn ngữ ( như C++ ) giống nhau sử dụng giải toán phù+,-,*,/,%Tới đối số tự tiến hành giải toán, cũng có thể sử dụng()Tới tiến hành phù hợp kết hợp luật phân tổ, người đọc có thể tự hành thí nghiệm, ở chỗ này chúng ta chỉ triển lãm cùng C++ sai biệt trọng đại bộ phận:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
>>>5.0*6# phù điểm số giải toán kết quả là phù điểm số
30.0
>>>15/3# cùng C/C++ bất đồng, phép chia vĩnh viễn phản hồi phù điểm float loại hình
5.0
>>>5/100000# vị số quá nhiều, kết quả biểu hiện thành khoa học đếm hết pháp hình thức
5e-05
>>>5//3# sử dụng số nguyên phép chia ( sàn nhà trừ ) tắc sẽ xuống phía dưới lấy chỉnh, phát ra số nguyên loại hình
1
>>>-5//3# phù hợp xuống phía dưới lấy chỉnh nguyên tắc, chú ý này cùng C/C++ bất đồng
-2
>>>5%3# lấy mô
2
>>>-5%3# số âm lấy mô kết quả nhất định thị phi số âm, điểm này cũng cùng C/C++ bất đồng, bất quá đều thỏa mãn (a//b)*b+(a%b)==a
1
>>>x=abs(-1e4)# cầu giá trị tuyệt đối nội trí hàm số
>>>x+=1# không có tự tăng / tự giảm giải toán phù
>>>x# khoa học đếm hết pháp cam chịu vì float
10001.0

Ở mặt trên thực tiễn trung có thể phát hiện, phép chia giải toán (/) vĩnh viễn phản hồi phù điểm loại hình ( ở Python 2 trung phản hồi số nguyên ). Nếu ngươi muốn số nguyên hoặc xuống phía dưới lấy chỉnh kết quả nói, có thể sử dụng số nguyên phép chia (//). Đồng dạng, ngươi cũng có thể giống C++ trung giống nhau, sử dụng mô (%) tới tính toán số dư, khoa học đếm hết pháp hình thức cũng tương đồng.

Đặc biệt mà, Python dùng**Có thể tiến hành mịch giải toán, còn thông qua nội trípow(a, b, mod)Cung cấpNhanh chóng mịchHiệu suất cao thực hiện.

Python tự phù xuyến loại hình bao hàm Unicode tự phù, này ý nghĩa bất luận cái gì tự phù xuyến đều sẽ tồn trữ vì Unicode.2Ở Python trung, có thể đối một cái Unicode tự phù sử dụng nội trí hàm sốord()Đem này thay đổi vì đối ứng Unicode mã hóa, nghịch hướng thay đổi sử dụng nội trí hàm sốchr().

Nếu tưởng đem số thay đổi vì đối ứng tự phù xuyến, có thể sử dụng Python nội trí hàm sốstr(),Cũng có thể sử dụng f-string thực hiện; ngược lại, có thể sử dụngint()Cùngfloat()Hai cái hàm số.

Python tự phù xuyến loại hình còn cóRất nhiều phương tiện công năng.Bởi vì bổn văn độ dài hữu hạn, nơi này không đồng nhất một giới thiệu.

Số liệu loại hình phán đoán

Đối với một cái lượng biến đổi, có thể sử dụngtype(object)Phản hồi lượng biến đổi loại hình, tỷ nhưtype(8)Cùngtype('a')Giá trị phân biệt vì&LTclass 'int'>Cùng&LTclass 'str'>.

Phát ra cùng đưa vào

Phát ra

Đối với một cái lượng biến đổi, có thể sử dụngtype(object)Phản hồi lượng biến đổi loại hình, tỷ nhưtype(8)Cùngtype('a')Giá trị phân biệt vì&LTclass 'int'>Cùng&LTclass 'str'>.

Python trung, còn có thể sử dụng**Giải toán phù cùng nội trípow(base, exp, mod=None)Hàm số tiến hành mịch giải toán, sử dụngabs(x)Cầu số giá trị tuyệt đối.

1
2
3
4
5
6
7
8
9
>>>3**4# mịch giải toán
81
>>>2**512
13407807929942597099574024998205846127479365820592393377723561443721764030073546976801874298166903427690031858186486050853753882811946569946433649006084096
>>>pow(2,512,int(1e4))# tức 2**512 % 10000 nhanh chóng thực hiện, 1e4 là float cho nên muốn chuyển int
4096
>>>2048**2048# ở IDLE thử xem đại số nguyên?
>>>0.1+0.1+0.1-0.3==0.# cùng C/C++ giống nhau yêu cầu chú ý phù điểm số không thể trực tiếp phán bằng nhau
False

Tự phù xuyến

Python 3 cung cấp cường đại căn cứ vàoUnicodeTự phù xuyến loại hình, sử dụng lên cùng C++ trung string cùng loại, một ít khái niệm như chuyển nghĩa tự phù cũng đều tương thông, trừ bỏ dấu cộng ghép nối cùng hướng dẫn tra cứu phỏng vấn, còn thêm vào duy trì số thừa*Lặp lại tự phù xuyến, cùnginThao tác phù.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
>>>s1="O"# đơn dấu ngoặc kép cùng song dấu ngoặc kép đều có thể bao khởi tự phù xuyến, có khi nhưng tiết kiệm chuyển nghĩa tự phù
>>>s1+='I-Wiki'# vì cùng C++ đồng bộ kiến nghị sử dụng song dấu ngoặc kép
>>>'OI'ins1# kiểm tra đo lường tử xuyến thực phương tiện
True
>>>len(s1)# cùng loại C++ s.length(), nhưng càng thông dụng
7
>>>s2="""Cảm tạ ngươi đọc
...Hoan nghênh tham dự cống hiến!
"""# sử dụng tam trọng dấu ngoặc kép tự phù xuyến có thể vượt qua nhiều hành
>>>s1 + s2
'OI-Wiki cảm tạ ngươi đọc \n hoan nghênh tham dự cống hiến!'
>>>print(s1 + s2) # nơi này sử dụng print() hàm số đóng dấu tự phù xuyến
OI-Wiki cảm tạ ngươi đọc
Hoan nghênh tham dự cống hiến!
>>>s2[2] * 2 + s2[3] + s2[-1] # số âm hướng dẫn tra cứu từ hữu bắt đầu đếm hết, hơn nữa len(s), tương đương với mô n còn thừa loại hoàn
' cảm ơn ngươi!'
>>>s1[0] = 'o' # str là không thể đổi loại hình, không thể tại chỗ sửa chữa, kỳ thật += cũng là sáng lập tân đối tượng
Traceback (most recent call last):
File"&LTstdin>",line1,in&LTmodule>
TypeError:'str' object does not support item assignment

Python duy trì nhiều loại hợp lại số liệu loại hình, nhưng đem bất đồng giá trị tổ hợp ở bên nhau. Nhất thường dùnglist,Loại hình là dùng dấu móc đánh dấu, dấu phẩy phân cách một tổ giá trị. Tỷ như,[1, 2, 3]Cùng['a','b','c']Đều là danh sách.

Trừ bỏ hướng dẫn tra cứu, tự phù xuyến còn duy trìCắt miếng,Nó thiết kế phi thường tinh diệu lại phù hợp trực giác, cách thức vìs[ tả bế hướng dẫn tra cứu: Hữu khai hướng dẫn tra cứu: Bước trường ]:

1
2
3
4
5
6
7
8
9
10
11
12
13
>>>s='OI-Wiki cảm tạ ngươi đọc\nHoan nghênh tham dự cống hiến!'
>>>s[:8]# tỉnh lược tả bế hướng dẫn tra cứu tắc từ đầu bắt đầu
'OI-Wiki '
>>>s[8:14]# tả bế hữu mở kế diệu dụng, chiều dài vừa lúc vì 14-8=6, còn cùng thượng một chữ phù xuyến vô phùng hàm tiếp
' cảm tạ ngươi đọc '
>>>s[-4:]# tỉnh lược hữu khai hướng dẫn tra cứu tắc thẳng đến kết cục
' cùng cống hiến!'
>>>s[8:14:2]# bước trường vì 2
' cảm ngươi duyệt '
>>>s[::-1]# bước trường vì -1 khi, đạt được xoay ngược lại tự phù xuyến
'! Hiến cống cùng tham nghênh hoan \n đọc duyệt ngươi tạ cảm ikiW-IO'
>>>s# nhưng nguyên lai tự phù xuyến vẫn chưa thay đổi
'OI-Wiki cảm tạ ngươi đọc \n hoan nghênh tham dự cống hiến!'

C/C++ trungcharLoại hình có thể cùng đối ứng ASCII mã lẫn nhau chuyển, mà ở Python trung ngươi có thể đối một cái Unicode tự phù sử dụng nội trí hàm sốord()Đem này thay đổi vì đối ứng Unicode mã hóa, nghịch hướng thay đổi sử dụng nội trí hàm sốchr().

Nếu tưởng đem con số thay đổi thành đôi ứng tự phù xuyến, có thể sử dụng nội trí hàm sốstr(),Phản chi có thể sử dụngint()Cùngfloat(),Ngươi có thể tương tự vì C/C++ trung cưỡng chế loại hình thay đổi, nhưng dấu móc không phải thêm ở loại hình thượng mà là làm hàm số một bộ phận quát trụ tham số.

Python tự phù xuyến loại hình cung cấp rất nhiều cường đại phương pháp, bao gồm tính toán mỗ tự phù hướng dẫn tra cứu cùng xuất hiện số lần, thay đổi lớn nhỏ viết từ từ, nơi này liền không đồng nhất một liệt kê, mãnh liệt kiến nghị xem xétPhía chính phủ hồ sơQuen thuộc thường dùng phương pháp, gặp được tự phù xuyến thao tác hẳn là đầu tiên suy xét sử dụng này đó phương pháp mà phi tự lực cánh sinh.

Khai số tổ

Từ C++ chuyển qua tới đồng học khả năng thực mê hoặc như thế nào ở Python trung khai số tổ, nơi này liền giới thiệu ở Python khai “Số tổ” ngữ pháp, yêu cầu cường điệu chúng ta giới thiệu kỳ thật là vài loạiDanh sách loại hình,Cùng C số tổ có bản chất khác nhau, mà càng tiếp cận C++ trungvector.

Sử dụnglist

Danh sách (list) đại khái là Python trung nhất thường dùng cũng cường đại nhất danh sách loại hình, danh sách trung có thể gửi tùy ý loại hình nguyên tố, bao gồm khảm bộ danh sách, này phù hợp số liệu kết cấu trung “Nghĩa rộng biểu” định nghĩa. Thỉnh chú ý không cần đem này cùng C++ STL trung song hướng liên biểulistLẫn lộn, cố bổn văn đem sử dụng “Danh sách” mà philistĐể tránh tạo thành hiểu lầm.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
>>>[]# sáng tạo không danh sách, chú ý danh sách sử dụng dấu móc
[]
>>>nums=[0,1,2,3,5,8,13];nums# khởi động lại danh sách, chú ý toàn bộ danh sách có thể trực tiếp đóng dấu
[0, 1, 2, 3, 5, 8, 13]
>>>nums[0]=1;nums# duy trì hướng dẫn tra cứu phỏng vấn, còn duy trì sửa chữa nguyên tố
[1, 1, 2, 3, 5, 8, 13]
>>>nums.append(nums[-2]+nums[-1]);nums# append() cùng vector push_back(), cũng đều không có phản hồi giá trị
[1, 1, 2, 3, 5, 8, 13, 21]
>>>nums.pop()# bắn ra cũng phản hồi cuối cùng nguyên tố, có thể đương sạn sử dụng; kỳ thật còn nhưng chỉ định vị trí, cam chịu là cuối cùng
21
>>>nums.insert(0,1);nums# cùng vector insert(position, val)
[1, 1, 1, 2, 3, 5, 8, 13]
>>>nums.remove(1);nums# ấn giá trị di trừ nguyên tố ( chỉ xóa cái thứ nhất xuất hiện ), nếu không tồn tại tắc tung ra sai lầm
[1, 1, 2, 3, 5, 8, 13]
>>>len(nums)# cầu danh sách chiều dài, cùng loại vector size(), nhưng len() là nội trí hàm số
7
>>>nums.reverse();nums# tại chỗ nghịch trí
[13, 8, 5, 3, 2, 1, 1]
>>>sorted(nums)# đạt được bài tự sau danh sách
[1, 1, 2, 3, 5, 8, 13]
>>>nums# nhưng nguyên lai danh sách vẫn chưa bài tự
[13, 8, 5, 3, 2, 1, 1]
>>>nums.sort();nums# tại chỗ bài tự, có thể chỉ định tham số key làm bài tự tiêu chuẩn
[1, 1, 2, 3, 5, 8, 13]
>>>nums.count(1)# cùng loại std::count()
2
>>>nums.index(1)# phản hồi giá trị lần đầu xuất hiện hạng hướng dẫn tra cứu hào, nếu không tồn tại tắc tung ra sai lầm
0
>>>nums.clear();nums# cùng vector clear()

Trở lên thí dụ mẫu thể hiện rồi danh sách cùngvectorTương tự chỗ,vectorTrung bình dùng thao tác giống nhau cũng đều có thể ở danh sách trung tìm được đối ứng phương pháp, bất quá nào đó phương pháp nhưlen(),sorted()Sẽ trong vòng trí hàm số bộ mặt xuất hiện, mà STL thuật toán trung hàm số nhưfind(),count(),max_element(),sort(),reverse()Ở Python trung lại thành đối tượng phương pháp, sử dụng khi yêu cầu chú ý phân chia, càng nhiều mặt pháp thỉnh tham kiến phía chính phủ hồ sơDanh sách tường giải.Phía dưới đem triển lãm danh sách làm Python cơ bản danh sách loại hình một ít cường đại công năng:

Python duy trì nhiều loại hợp lại số liệu loại hình, nhưng đem bất đồng giá trị tổ hợp ở bên nhau. Nhất thường dùnglist,Loại hình là dùng dấu móc đánh dấu, dấu phẩy phân cách một tổ giá trị. Tỷ như,[1, 2, 3]Cùng['a','b','c']Đều là danh sách.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
>>>lst=[1,'1']+["2",3.0]# danh sách trực tiếp tương thêm sinh thành một cái tân danh sách
>>>lst# nơi này gửi bất đồng loại hình chỉ là tưởng thuyết minh có thể làm như vậy, nhưng này không phải tốt cách làm
[1, '1', '2', 3.0]
>>>3inlst# thực dụng thành viên kiểm tra đo lường thao tác, tự phù xuyến cũng có nên thao tác thả còn duy trì tử xuyến kiểm tra đo lường
True
>>>[1,'1']inlst# chỉ duy trì đơn cái thành viên kiểm tra đo lường, sẽ không phát hiện “Tử danh sách”
False
>>>lst[1:3]=[2,3];lst# cắt miếng cũng phú giá trị, nguyên danh sách bị sửa chữa
[1, 2, 3, 3.0]
>>>lst[::-1]# đạt được xoay ngược lại sau tân danh sách
[3.0, 3, 2, 1]
>>>lst*=2;lst# số thừa ghép nối
[1, 2, 3, 3.0, 1, 2, 3, 3.0]
>>>dellst[4:];lst# cũng có thể viết lst[4:] = [], del câu nói không ngừng có thể dùng cho xóa bỏ danh sách trung nguyên tố
[1, 2, 3, 3.0]

Trở lên thí dụ mẫu thể hiện rồi danh sách làm danh sách một ít thường dùng thao tác, có thể thấy được rất nhiều thao tác như cắt miếng là cùng tự phù xuyến tương thông, nhưng tự phù xuyến là “Không thể đổi danh sách” mà danh sách là “Có thể biến đổi danh sách”, cố có thể thông qua cắt miếng linh hoạt mà sửa chữa danh sách. Ở C/C++ trung chúng ta thường thường thông suốt quá tuần hoàn xử lý tự phù số tổ, phía dưới đem triển lãm như thế nào sử dụng“Danh sách suy luận thức”Ở tự phù xuyến cùng danh sách chi gian thay đổi:

1
2
3
4
5
6
7
8
9
10
11
12
13
>>># thành lập một cái [65, 70) khu gian thượng số nguyên số tổ, range cũng là một loại loại hình, nhưng coi như tả bế hữu khai khu gian, cái thứ ba tham số vì bước trường nhưng tỉnh lược
>>>nums=list(range(65,70))# nhớ rõ range bên ngoài còn muốn bộ một tầng list()
[65, 66, 67, 68, 69]
>>>lst=[chr(x)forxinnums]# danh sách suy luận thức điển hình kết cấu, [exp for var in iterable if cond]
>>>lst# thượng hai câu có thể xác nhập thành [chr(x) for x in range(65,70)]
['A', 'B', 'C', 'D', 'E']
>>>s=''.join(lst);s# dùng không tự phù xuyến '' ghép nối danh sách trung nguyên tố sinh thành tân tự phù xuyến
'ABCDE'
>> list(s) # tự phù xuyến sinh thành tự phù danh sách
['A', 'B', 'C', 'D', 'E']
>>># nếu ngươi không biết có s.lower() phương pháp liền khả năng viết ra phía dưới như vậy tân bình trang cũ rượu biểu đạt thức
>>>''.join([chr(ord(ch)-65+97)forchinsifch>='A'andch'Z'])
'abcde'

Phía dưới biểu thị một ít ở OI trung càng thường thấy cảnh tượng, tỷ như 2D “Số tổ”:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
>>>vis=[[0]*3]*3# khai một cái 3*3 toàn 0 số tổ
>>>vis
[[0, 0, 0], [0, 0, 0], [0, 0, 0]]
>>>vis[0][0]=1;vis# như thế nào sẽ đem mặt khác hành cũng sửa chữa?
[[1, 0, 0], [1, 0, 0], [1, 0, 0]]
>>># trước tới xem tiếp theo duy danh sách phú giá trị
>>>a1=[0,0,0];a2=a1;a3=a1[:]# danh sách cũng có thể trực tiếp bị phú cấp tân lượng biến đổi
>>>a1[0]=1;a1# sửa chữa danh sách a1, tựa hồ bình thường
[1, 0, 0]
>>>a2# như thế nào a2 cũng bị thay đổi
[1, 0, 0]
>>>a3# a3 không có biến hóa
[0, 0, 0]
>>>id(a1)==id(a2)andid(a1)!=id(a3)# nội trí hàm số id() cấp ra đối tượng “Đánh dấu giá trị”, nhưng tương tự vì địa chỉ, địa chỉ tương đồng thuyết minh là một cái đối tượng
True
>>>vis2=vis[:]# copy một phần 2D danh sách nhìn xem
>>>vis[0][1]=2;vis# vis khẳng định vẫn là bị phê lượng sửa chữa
>>>[[1,2,0],[1,2,0],[1,2,0]]
>>>vis2# nhưng vis2 là cắt miếng copy như thế nào vẫn là bị sửa lại
>>>[[1,2,0],[1,2,0],[1,2,0]]
>>>id(vis)!=id(vis2)# vis cùng vis2 xác thật không phải một cái đối tượng a
True
>>># đáp án công bố, vis2 tuy rằng không phải vis trích dẫn, nhưng trong đó đối ứng thủ đô lâm thời chỉ hướng tương đồng đối tượng
>>>[id(vis[i])==id(vis2[i])foriinrange(3)]
[True, True, True]
>>># hồi xem 2D danh sách tự thân
>>>[id(x)forxinvis]# cụ thể con số cùng nơi này không giống nhau nhưng ba cái giá trị nhất định tương đồng, thuyết minh là ba cái tương đồng đối tượng
[139760373248192, 139760373248192, 139760373248192]

Kỳ thật chúng ta vẫn luôn che giấu một cái quan trọng sự thật, Python trung phú giá trị chỉ truyền lại trích dẫn mà phi sáng tạo tân giá trị, ngươi có thể sáng tạo bất đồng loại hình lượng biến đổi cũng phú cấp tân lượng biến đổi, nghiệm chứng phát hiện hai người đánh dấu giá trị là tương đồng, chẳng qua cho tới bây giờ chúng ta mới giới thiệu danh sách này một loại có thể biến đổi loại hình, mà cấp con số, tự phù xuyến như vậy không thể đổi loại hình phú tân giá trị khi trên thực tế sáng lập tân đối tượng, cho nên trước sau hai cái lượng biến đổi lẫn nhau không quấy nhiễu. Nhưng danh sách là có thể biến đổi loại hình, cho nên chúng ta sửa chữa một cái danh sách nguyên tố khi, một cái khác danh sách bởi vì chỉ hướng cùng cái đối tượng cho nên cũng bị sửa chữa. Sáng tạo 2D số tổ cũng là cùng loại tình huống, thí dụ mẫu có ích phép nhân sáng tạo 2D danh sách tương đương với đem[0]*3Cái này một duy danh sách lặp lại 3 biến, cho nên đề cập trong đó một cái danh sách thao tác sẽ đồng thời ảnh hưởng mặt khác hai cái danh sách. Càng bất hạnh chính là, ở đem 2D danh sách phú cấp mặt khác lượng biến đổi thời điểm, liền tính dùng cắt miếng tới copy, cũng chỉ là “Thiển copy”, trong đó nguyên tố vẫn cứ chỉ hướng tương đồng đối tượng, giải quyết vấn đề này yêu cầu sử dụng tiêu chuẩn kho trungdeepcopy,Hoặc là tận lực tránh cho toàn bộ phú giá trị 2D danh sách. Bất quá còn hảo, sáng tạo 2D danh sách khi tránh cho sáng tạo lặp lại danh sách vẫn là tương đối đơn giản, chỉ cần sử dụng “Danh sách suy luận thức”:

1
2
3
4
5
6
7
8
9
>>>vis1=[[0]*3for_inrange(3)]# đem dùng không đến tuần hoàn đếm hết lượng biến đổi thiết vì hạ hoa tuyến _ là một loại lệ thường
>>># nhưng ở REPL trung _ cam chịu chỉ đại thượng một cái biểu đạt thức phát ra kết quả, cố cũng có thể sử dụng song hạ hoa tuyến
>>>vis1
[[0, 0, 0], [0, 0, 0], [0, 0, 0]]
>>>[id(x)forxinvis1]# cụ thể con số cùng nơi này không giống nhau nhưng ba cái giá trị nhất định bất đồng, thuyết minh là ba cái bất đồng đối tượng
[139685508981248, 139685508981568, 139685508981184]
>>>vis1[0][0]=1
[[1, 0, 0], [0, 0, 0], [0, 0, 0]]
>>>a2[0][0]=10# phỏng vấn cùng phú giá trị 2D số tổ

Chúng ta chưa giảng tuần hoàn cách dùng liền trước giới thiệu danh sách suy luận thức, đây là bởi vì Python là độ cao động thái giải thích hình ngôn ngữ, bởi vậy này trình tự vận hành có đại lượng thêm vào chi tiêu. Đặc biệt làfor tuần hoàn ở Python trung vận hành kỳ chậm vô cùng.Bởi vậy ở sử dụng Python khi nếu tưởng đạt được cao tính năng, tận lực sử dụng sử dụng danh sách suy luận thức, hoặc làfilter,mapChờ nội trí hàm số trực tiếp thao tác toàn bộ danh sách tới tránh cho tuần hoàn, đương nhiên này vẫn là muốn căn cứ cụ thể vấn đề mà định.

Sử dụng NumPy

Cái gì là NumPy

NumPyLà trứ danh Python khoa học tính toán kho, cung cấp cao tính năng trị số cập Ma trận giải toán. Ở thí nghiệm thuật toán nguyên hình khi có thể lợi dụng NumPy tránh cho viết tay bài tự, cầu nhất giá trị chờ thuật toán. NumPy trung tâm số liệu kết cấu làndarray,Tức n duy số tổ, nó ở bên trong tồn trung liên tục tồn trữ, là định lớn lên. Ngoài ra NumPy trung tâm là dùng C biên soạn, giải toán hiệu suất rất cao. Bất quá yêu cầu chú ý, nó không phải tiêu chuẩn kho một bộ phận, có thể sử dụngpip install numpyTrang bị, nhưng không cam đoan OI trường thi hoàn cảnh trung nhưng dùng.

Phía dưới số hiệu đem giới thiệu như thế nào lợi dụng NumPy thành lập nhiều duy số tổ cũng tiến hành phỏng vấn.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
>>>importnumpyasnp# thỉnh tự hành tìm tòi import ý nghĩa cùng cách dùng
>>>np.empty(3)# khai dung lượng vì 3 không số tổ, chú ý không có khởi động lại vì 0
array([0.00000000e+000, 0.00000000e+000, 2.01191014e+180])
>>>np.zeros((3,3))# khai 3*3 số tổ, cũng khởi động lại vì 0
array([[0., 0., 0.],
[0., 0., 0.],
[0., 0., 0.]])
>>>a1=np.zeros((3,3),dtype=int)# khai 3×3 số nguyên số tổ
>>>a1[0][0]=1# phỏng vấn cùng phú giá trị
>>>a1[0,0]=1# càng hữu hảo ngữ pháp
>>>a1.shape# số tổ hình dạng
(3, 3)

>>>a1[:2,:2]# lấy trước hai hàng, trước hai liệt cấu thành tử trận, vô copy
array([[1, 0],
[0, 0]])

>>>a1[0,2]# thu hoạch đệ 1, 3 liệt, vô copy
array([[1, 0],
[0, 0],
[0, 0]])
>>>np.max(a1)# thu hoạch số tổ cực đại
1
>>>a1.flatten()# đem số tổ triển bình
array([1, 0, 0, 0, 0, 0, 0, 0, 0])

>>>np.sort(a1,axis=1)# duyên hành phương hướng đối số tổ tiến hành bài tự, phản hồi bài tự kết quả
array([[0, 0, 1],
[0, 0, 0],
[0, 0, 0]])
>>>a1.sort(axis=1)# duyên hành phương hướng đối số tổ tiến hành tại chỗ bài tự

Sử dụngarray

arrayLà Python tiêu chuẩn kho cung cấp một loại hiệu suất cao trị số số tổ, có thể chặt chẽ mà tỏ vẻ cơ bản loại hình giá trị số tổ, nhưng không duy trì số tổ khảm bộ, cũng rất ít nhìn thấy có người sử dụng nó, nơi này chỉ là thuận tiện đề một chút.

Nếu vô đặc thù thuyết minh, sau văn xuất hiện “Số tổ” giống nhau chỉ “Danh sách”.

Đưa vào phát ra

Python trung đưa vào phát ra chủ yếu thông qua nội trí hàm sốinput()Cùngprint()Hoàn thành,print()Cách dùng thập phần phù hợp trực giác:

1
2
3
4
5
6
7
8
9
>>>a=[1,2,3];print(a[-1])# đóng dấu khi cam chịu cuối cùng đổi hành
3
>>>print(ans[0],ans[1])# có thể phát ra tùy ý nhiều lượng biến đổi, cam chịu lấy không cách khoảng cách
1 2
>>>print(a[0],a[1],end='')# lệnh end='', sử cuối cùng không đổi hành
1 2>>>
>>>print(a[0],a[1],sep=', ')# lệnh sep=', ', thay đổi khoảng cách hình thức
1, 2
>>>print(str(a[0])+', '+str(a[1]))# phát ra giống như trên, nhưng là tay động ghép nối thành toàn bộ tự phù xuyến

Thuật toán thi đua trung thông thường chỉ đề cập đến cơ bản trị số cùng tự phù xuyến phát ra, trở lên cách dùng cơ bản cũng đủ, chỉ có đương đề cập đến phù điểm số vị số khi yêu cầu dùng đến cách thức hóa tự phù xuyến phát ra. Cách thức hóa có ba loại phương pháp, đệ nhất loại cũng là già nhất cũ phương pháp là sử dụngprintf()Phong cách%Thao tác phù; một loại khác là lợi dụngformatHàm số,Viết lên tương đối trường; loại thứ ba là Python 3.6 tân tăngf-string,Nhất ngắn gọn, nhưng không cam đoan trường thi trung Python phiên bản cũng đủ tân. Kỹ càng tỉ mỉ phong phú thuyết minh có thể tham khảoCái này trang web,Cứ việc càng đề cử sử dụngformat()Phương pháp, nhưng vì đạt được cùng C tiếp cận thể nghiệm, phía dưới chỉ biểu thị cùngprintf()Cùng loại kiểu cũ phương pháp:

1
2
3
4
>>>pi=3.1415926;print('%.4f'%pi)# cách thức vì %[flags][width][.precision]type
3.1416
>>>'%.4f-%8f=%d'%(pi,0.1416,3)# bên phải nhiều tham số dùng () quát trụ, mặt sau sẽ nhìn đến kỳ thật là “Nguyên tổ”
'3.1416 - 0.141600 = 3'

input()Hàm số hành vi tiếp cận C++ trunggetline(),Sắp một chỉnh hành làm tự phù xuyến đọc nhập, thả cuối cùng không có đổi hành phù, nhưng ở thuật toán thi đua trung, thường thấy đưa vào hình thức là một hàng đưa vào nhiều trị số, bởi vậy liền yêu cầu sử dụng tự phù xuyếnsplit()Phương pháp cũng phối hợp danh sách suy luận thức được đến gửi trị số loại hình danh sách, phía dưới lấy đưa vào n cái số cầu bình quân giá trị vì lệ biểu thị đưa vào n cái số được đến “Số tổ” phương pháp:

1
2
3
4
5
6
7
8
9
10
>>>s=input(' thỉnh đưa vào một chuỗi con số: ');s# chính mình điều chỉnh thử khi có thể hướng input() truyền vào tự phù xuyến làm nhắc nhở
Thỉnh đưa vào một chuỗi con số: 1 2 3 4 5 6
'1 2 3 4 5 6'
>>>a=s.split();a
['1', '2', '3', '4', '5', '6']
>>>a=[int(x)forxina];a
[1, 2, 3, 4, 5, 6]
>>># trở lên đưa vào quá trình nhưng viết thành một hàng a = [int(x) for x in input().split()]
>>>sum(a)/len(a)# sum() là nội trí hàm số
3.5

Có khi đề mục sẽ ở mỗi hành đưa vào cố định mấy cái số, tỷ như biên khởi điểm, chung điểm, quyền trọng, nếu chỉ dùng mặt trên nhắc tới phương pháp cũng chỉ có thể mỗi lần đọc nhập số tổ sau đó căn cứ hạ tiêu phú giá trị, lúc này có thể sử dụng Python “Hủy đi bao” đặc tính một lần phú giá trị nhiều lượng biến đổi:

1
2
3
4
>>>u,v,w=[int(x)forxininput().split()]
1 2 4
>>>print(u,v,w)
1 2 4

Đề mục trung thường xuyên gặp được đưa vào N hành tình huống, nhưng chúng ta còn không có giảng cơ bản nhất tuần hoàn câu nói, nhưng Python cường đại danh sách thao tác có thể ở không sử dụng tuần hoàn dưới tình huống ứng đối nhiều hành đưa vào, phía dưới giả thiết đem các điều biên khởi điểm, chung điểm, quyền giá trị phân biệt đọc nhập ba cái số tổ:

1
2
3
4
5
6
7
8
9
10
11
12
13
>>>N=4;mat=[[int(x)forxininput().split()]foriinrange(N)]
1 3 3
1 4 1
2 3 4
3 4 1
>>>mat# trước ấn hành đọc nhập 2D số tổ
[[1, 3, 3], [1, 4, 1], [2, 3, 4], [3, 4, 1]]
>>>u,v,w=map(list,zip(*mat))
# * đem mat giải bao được đến tầng nhiều danh sách
# zip() đem nhiều danh sách trung đối ứng nguyên tố tụ hợp thành nguyên tổ, được đến một cái thay đổi khí
# map(list, iterable) đem danh sách trung nguyên tố ( nơi này vì nguyên tổ ) chuyển thành danh sách
>>>print(u,v,w)# trực tiếp đem map() được đến thay đổi khí hủy đi bao, phân biệt phú giá trị cấp u, v, w
[1, 1, 2, 3] [3, 4, 3, 4] [3, 1, 4, 1]

Kể trên trình tự trên thực tế tương đương với trước đọc nhập một cái N hành 3 liệt Ma trận, sau đó đem này chuyển trí thành 3 hành N liệt Ma trận, cũng chính là ngoại tầng danh sách trung khảm bộ 3 cái danh sách, cuối cùng đem đại biểu này khởi điểm, chung điểm, quyền giá trị 3 cái danh sách phân biệt phú giá trị cấp u, v, w. Nội trí hàm sốzip()Có thể đem nhiều chờ trường danh sách trung đối ứng nguyên tố ghép nối ở “Nguyên tổ” nội, được đến tân danh sách. Màmap()Kỳ thật là hàm số thức biên trình một loại thao tác, nó đem một cái cấp định hàm số tác dụng vớizip()Sở sinh ra danh sách nguyên tố, nơi này chính là dùnglist()Đem nguyên tổ biến thành danh sách. Ngươi có thể tự hành luyện tập sử dụng*Cùngzip(),map()Lấy lý giải này hàm nghĩa. Yêu cầu chú ý chính là Python 3 trungzip()Cùngmap()Sáng tạo không hề phản hồi danh sách mà là phản hồi thay đổi khí, nơi này tạm không giải thích chúng nó chi gian dị đồng, ngươi có thể cho rằng thay đổi khí có thể sinh ra danh sách trung các nguyên tố, dùnglist()Bộ trụ thay đổi khí là có thể sinh thành danh sách.

Khống chế lưu trình

Cứ việc chúng ta đã học tập Python rất nhiều đặc tính, nhưng cho tới bây giờ chúng ta triển lãm Python số hiệu đều là đơn hành câu nói, này che giấu Python cùng C ở số hiệu phong cách thượng trọng đại sai biệt: Đầu tiên, Python trung không cần{}Mà là dùng súc tiến tỏ vẻ khối kết cấu, nếu súc tiến không có đối tề sẽ trực tiếp báo sai, nếu tab cùng không cách hỗn dùng cũng sẽ báo sai; tiếp theo, khối kết cấu bắt đầu địa phương tỷ nhưifCùngforCâu nói hành mạt phải có dấu hai chấm:.Này có trợ giúp số hiệu nhưng đọc tính, nhưng ngươi cũng có thể hoài niệm C cái loại này tự do thể nghiệm, rốt cuộc nếu copy paste khi bởi vì mất đi súc tiến tới không thể không tay động đối tề là thực phiền lòng.

Tuần hoàn kết cấu

Danh sách suy luận thức có thể ở một hàng nội hiệu suất cao mà hoàn thành phê lượng thao tác, nhưng có khi vì áp hành chúng ta đã có vẻ quá mức cố tình, rất nhiều cảnh tượng hạ vẫn là chỉ có thể sử dụng tuần hoàn kết cấu, cho nên chúng ta lại lấy đọc nhập nhiều hành số liệu vì lệ triển lãm Python trung tuần hoàn là như thế nào biên soạn:

1
2
3
4
5
6
7
8
# thỉnh chú ý từ giờ trở đi chúng ta không hề sử dụng REPL, thỉnh tự hành phục chế nhiều hành số liệu
u,v,w=([]foriinrange(3))# hay thay đổi lượng phú giá trị
foriinrange(4):# nơi này giả thiết đưa vào 4 hành số liệu
_u,_v,_w=[int(x)forxininput().split()]
u.append(_u),v.append(_v),w.append(_w)
# không thể tiến hành cùng loại cin >> u[i] >> v[i] >> w[i] thao tác, bởi vì nhất định vượt qua danh sách trước mặt chiều dài
# đương nhiên ngươi có thể lựa chọn khởi động lại chiều dài vì MAXN toàn 0 danh sách, bất quá yêu cầu nhớ kỹ chân thật chiều dài cũng xóa rớt dư thừa nguyên tố
print(u,v,w)

Yêu cầu chú ý, Python trung for tuần hoàn cùng C/C++ có trọng đại khác biệt, này tác dụng cùng loại C++ 11 dẫn vào“Căn cứ vào phạm vi tuần hoàn”,Thực chất là thay đổi danh sách trung nguyên tố, tỷ như biên soạn tuần hoàn biến liệt kê từng cái tổ hạ tiêu yêu cầu thay đổirange(len(lst)),Mà phi chân chính định nghĩa lúc đầu cùng ngưng hẳn điều kiện, cho nên sử dụng lên cũng không có C/C++ linh hoạt.

Phía dưới lại dùng while tuần hoàn triển lãm hành số không chừng dưới tình huống như thế nào đưa vào:

1
2
3
4
5
6
7
8
9
10
u,v,w=[],[],[]# hay thay đổi lượng phú giá trị, kỳ thật giống như trên
s=input()# chú ý Python trung phú giá trị câu nói không thể đặt ở điều kiện biểu đạt thức trung
whiles:# không thể giống C như vậy while(!scanf())
# dùng cắt miếng ghép nối tránh cho append(), chú ý danh sách suy luận thức trung lại khảm bộ danh sách
u[len(u):],v[len(v):],w[len(w):]=[[int(x)]forxins.split()]
s=input()
# Python 3.8 dẫn vào walrus operator hải tượng giải toán phù sau, ngươi có thể tiết kiệm hai hàng, nhưng trường thi hoàn cảnh rất có thể không duy trì
whiles:=input():
u[len(u):],v[len(v):],w[len(w):]=[[int(x)]forxins.split()]
print(u,v,w)

Lựa chọn kết cấu

Cùng C/C++ đại đồng tiểu dị, một ít hình thức thượng khác biệt đều ở dưới thí dụ mẫu trung có điều triển lãm, ngoài ra còn cần chú ý điều kiện biểu đạt thức trung không cho phép sử dụng phú giá trị giải toán phù ( Python 3.8 trở lên nhưng dùng:=), cùng vớiKhông có switch câu nói.

1
2
3
4
5
6
7
8
9
10
11
12
# điều kiện biểu đạt thức hai sườn vô dấu móc
if4>=3>2and3!=5==5!=7:
print("Quan hệ giải toán phù có thể liên tục sử dụng")
x=Noneor[]or-2
print("&& ||!","Cùng hoặc phi","and or not",sep="\n")
print("Thiện dùng and/or nhưng tiết kiệm hành số")
ifnotx:
print("Số âm cũng là True, không chấp hành bổn câu")
elifx&1:
print("Dùng elif mà không phải else if\n""Vị giải toán phù cùng C gần, số chẵn &1 đến 0, không chấp hành bổn câu")
else:
print("Cũng có tam mục giải toán phù")ifxelseprint("Chú ý kết cấu")

Dị thường xử lý

Cứ việc C++ trung cótry khốiDùng cho dị thường xử lý, nhưng thi đua trung giống nhau cũng không sử dụng, mà Python thường thấy chính làEAFPPhong cách, cho nên số hiệu trung khả năng đại lượng sử dụngtry-exceptCâu nói, ở phía sau văn giới thiệudictNày một kết cấu khi còn sẽ dùng đến, nơi này triển lãm:

1
2
3
4
5
6
7
8
9
10
11
12
13
s="OI-wiki"
pat="NOIP"
x=s.find(pat)# find() tìm không thấy phản hồi -1
try:
y=s.index(pat)# index() tìm không thấy tắc tung ra sai lầm
print(y)# câu này bị nhảy qua
exceptValueError:
print("Không tìm được")
try:
print(y)# lúc này y cũng không có định nghĩa, cố lại sẽ tung ra sai lầm
exceptNameErrorase:
print("Vô pháp phát ra y")
print("Nguyên nhân:",e)

Văn kiện đọc viết

Python nội trí hàm sốopen()Dùng cho văn kiện đọc viết, vì phòng ngừa đọc viết trong quá trình làm lỗi dẫn tới văn kiện chưa bị bình thường đóng cửa, nơi này chỉ giới thiệu sử dụngwithCâu nói an toàn đọc viết phương pháp:

1
2
3
4
5
6
7
a=[]
withopen("in.txt")asf:
N=int(f.readline())# đọc nhập đệ nhất hành N
a[len(a):]=[[int(x)forxinf.readline().split()]foriinrange(N)]

withopen("out.txt","w")asf:
f.write("1\n")

Về văn kiện đọc viết hàm số có rất nhiều, phân biệt áp dụng với bất đồng cảnh tượng, bởi vì OI thi đấu thượng không duy trì sử dụng Python, nơi này từ lược.

Nội trí vật chứa

Python nội trí rất nhiều cường đại vật chứa loại hình, chỉ có thuần thục sử dụng cũng hiểu biết này đặc điểm mới có thể chân chính làm Python ở thuật toán thi đua trung hữu dụng võ nơi, trừ bỏ mặt trên kỹ càng tỉ mỉ giới thiệulist( danh sách ), còn cótuple( nguyên tổ ),dict( từ điển ) cùngset( tập hợp ) này vài loại loại hình.

Nguyên tổ có thể đơn giản lý giải thành không thể đổi danh sách, bất quá còn cần chú ý “Không thể đổi” nội hàm, nếu nguyên tổ trung mỗ nguyên tố là có thể biến đổi loại hình tỷ như danh sách, như vậy vẫn có thể sửa chữa nên danh sách giá trị, nguyên tổ trung gửi chính là đối danh sách trích dẫn cho nên nguyên tổ bản thân cũng không có thay đổi. Nguyên tổ ưu điểm là chi tiêu nhỏ lại thả “Nhưng ha hi”,Người sau ở sáng tạo từ điển cùng tập hợp khi phi thường hữu dụng.

1
2
3
4
5
6
7
8
9
tup=tuple([[1,2],4])# từ danh sách được đến nguyên tổ
# cùng cấp với tup = ([1,2], 4)
tup[0].append(3)
print(tup)
a,b=0,"I-Wiki"# hay thay đổi lượng phú giá trị kỳ thật là nguyên tổ hủy đi bao
print(id(a),id(b))
b,a=a,b
print(id(a),id(b))# ngươi hẳn là sẽ nhìn đến a, b id giá trị hiện tại trao đổi
# này càng thuyết minh Python trung, lượng biến đổi càng như là tên, phú giá trị chỉ là làm này chỉ đại đối tượng

Từ điển tựa như C++ STL trungmap( thỉnh chú ý cùng Python trung nội trí hàm sốmap()Phân chia ) dùng cho tồn trữ kiện giá trị đối, hình thức cùng loạiJSON,Nhưng JSON trung kiện cần thiết là tự phù xuyến thả lấy song dấu ngoặc kép quát trụ, từ điển tắc càng thêm linh hoạt cường đại, nhưng ha hi đối tượng đều nhưng làm từ điển kiện. Yêu cầu chú ý Python vài lần phiên bản đổi mới sau từ điển đặc tính có so nhiều biến hóa, bao gồm trong đó nguyên tố trình tự chờ, thỉnh tự hành thăm dò.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
dic={"key":"value"}# cơ bản hình thức
dic={chr(i):iforiinrange(65,91)}# viết hoa chữ cái đến đối ứng ASCII mã chiếu rọi, chú ý dấu chấm
dic=dict(zip([chr(i)foriinrange(65,91)],range(65,91)))# hiệu quả giống như trên
dic={dic[k]:kforkindic}# đem kiện giá trị đối nghịch chuyển, for k in dic thay đổi này kiện
dic={v:kfork,vindic.items()}# cùng thượng hành tác dụng tương đồng, dic.items() lấy nguyên tổ gửi đơn cái kiện giá trị đối
dic={
k:vfork,vinsorted(dic.items(),key=lambdax:-x[1])
}# từ điển ấn giá trị nghịch bài tự, dùng tới rồi lambda biểu đạt thức

print(dic["A"])# phản hồi dic trung lấy 'A' vì kiện hạng, nơi này giá trị vì 65
dic["a"]=97# đem d[key] thiết vì value, từ điển Trung Nguyên vô key chính là trực tiếp cắm vào
if"b"indic:# LBYL(Look Before You Leap) phong cách
print(dic["b"])# nếu từ điển trung vô nên kiện tắc sẽ làm lỗi, cố trước kiểm tra
else:
dic["b"]=98

# kinh điển cảnh tượng thống kê xuất hiện số lần
# tân kiện không tồn tại với nguyên từ điển, yêu cầu thêm vào xử lý
try:# EAFP (Easier to Ask for Forgiveness than Permission) phong cách
cnter[key]+=1
exceptKeyError:
cnter[key]=1

Tập hợp tựa như C++ STL trungset,Sẽ không bảo tồn lặp lại nguyên tố, có thể xem thành chỉ bảo tồn kiện từ điển. Yêu cầu chú ý tập hợp cùng từ điển đều dùng{}Quát trụ, bất quá đơn dùng{}Sẽ sáng tạo không từ điển mà không phải không tập hợp, nơi này liền không hề cấp đưa ra lệ.

Biên soạn hàm số

Python trung định nghĩa hàm số không cần chỉ định tham số loại hình cùng phản hồi giá trị loại hình, vô hình trung vì OI tuyển thủ giảm bớt số hiệu lượng

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
defadd(a,b):
returna+b# động thái loại hình ưu thế, a cùng b cũng có thể là tự phù xuyến


defadd_no_swap(a,b):
print("in func #1:",id(a),id(b))
a+=b
b,a=a,b
print("in func #2:",id(a),id(b))# a, b đã trao đổi
returna,b# phản hồi nhiều giá trị, kỳ thật chính là phản hồi nguyên tổ, có thể hủy đi bao tiếp thu


lst1=[1,2]
lst2=[3,4]
print("outside func #1:",id(lst1),id(lst2))
add_no_swap(lst1,lst2)
# hàm số ngoại lst1, lst2 vẫn chưa trao đổi
print("outside func #2:",id(lst1),id(lst2))
# bất quá giá trị xác thật đã thay đổi
print(lst1,lst2)

Cam chịu tham số

Python trung hàm số tham số phi thường linh hoạt, có mấu chốt tự tham số, có thể biến đổi tham số chờ, nhưng ở thuật toán thi đua trung này đó đặc tính tác dụng cũng không phải rất lớn, nơi này chỉ giới thiệu một chút cam chịu tham số, bởi vì C++ trung cũng có cam chịu tham số, thả ở Python trung sử dụng cam chịu tham số rất có khả năng gặp được hố.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
defappend_to(element,to=[]):
to.append(element)
returnto


lst1=append_to(12)
lst2=append_to(42)
print(lst1,lst2)

# ngươi khả năng cho rằng phát ra là [12] [42]
# nhưng vận hành kết quả kỳ thật là [12] [12, 42]


# đây là bởi vì cam chịu tham số giá trị gần ở hàm số định nghĩa thời điểm phú giá trị một lần
# cam chịu tham số giá trị hẳn là không thể đổi đối tượng, sử dụng None chiếm vị là một loại tốt nhất thực tiễn
defappend_to(element,to=None):
iftoisNone:
to=[]
to.append(element)
returnto

Loại hình đánh dấu

Python là một cái động thái loại hình kiểm tra ngôn ngữ, lấy linh hoạt nhưng ẩn thức phương thức xử lý loại hình, Python giải thích khí gần ở vận hành khi kiểm tra loại hình hay không chính xác, hơn nữa cho phép ở vận hành khi thay đổi lượng biến đổi loại hình, tục ngữ nói “Động thái loại hình nhất thời sảng, số hiệu trọng cấu hỏa táng tràng”, trình tự trung một ít sai lầm khả năng ở vận hành khi mới có thể bại lộ:

1
2
3
4
5
6
7
8
9
>>>ifFalse:
...1+"two"# This line never runs, so no TypeError is raised
...else:
...1+2
...
3

>>>1+"two"# Now this is type checked, and a TypeError is raised
TypeError: unsupported operand type(s) for +: 'int' and 'str'

Python 3.5 sau dẫn vào loại hình đánh dấu, cho phép thiết trí hàm số tham số cùng phản hồi giá trị loại hình, nhưng chỉ là làm nhắc nhở, cũng không có thực tế hạn chế tác dụng, yêu cầu trạng thái tĩnh kiểm tra công cụ mới có thể bài trừ loại này sai lầm ( tỷ nhưPyCharmCùngMypy), cho nên có vẻ có chút râu ria, đối với OIer tới nói càng là chỉ cần hiểu biết, nhưng ấn như sau phương thức đối hàm số tham số cùng phản hồi giá trị thiết trí loại hình đánh dấu:

1
2
3
4
5
6
7
8
9
defheadline(
text,# type: str
width=80,# type: int
fill_char="-",# type: str
):# type: (...) -> str
returnf"{text.title()}".center(width,fill_char)


print(headline("type comments work",width=40))

Trừ bỏ hàm số tham số, lượng biến đổi cũng là có thể loại hình đánh dấu, ngươi có thể thông qua thuyên chuyển__annotations__Tới xem xét hàm số trung sở hữu loại hình đánh dấu. Lượng biến đổi loại hình đánh dấu giao cho Python trạng thái tĩnh ngôn ngữ tính chất, tức thanh minh cùng phú giá trị chia lìa:

1
2
3
4
5
6
>>>nothing:str
>>>nothing
NameError: name 'nothing' is not defined

>>>__annotations__
{'nothing': &LTclass 'str'>}

Trang trí khí

Trang trí khí là một cái hàm số, tiếp thu một cái hàm số hoặc phương pháp làm này duy nhất tham số, cũng phản hồi một cái tân hàm số hoặc phương pháp, trong đó chỉnh hợp tân trang sau hàm số hoặc phương pháp, cũng mang thêm một ít thêm vào công năng. Nói ngắn gọn, có thể ở không sửa chữa hàm số số hiệu dưới tình huống, gia tăng hàm số công năng. Tương quan tri thức có thể tham khảoPhía chính phủ hồ sơ.

Bộ phận trang trí khí trong lúc thi đấu phi thường thực dụng, tỷ nhưlru_cache,Có thể vì hàm số tự động gia tăng ký ức hóa năng lực, ở đệ quy thuật toán trung phi thường thực dụng:

@lru_cache(maxsize=128,typed=False)

  • Truyền vào tham số có 2 cái:maxsizeCùngtyped,Nếu bất truyền tắcmaxsizeCam chịu giá trị vì 128,typedCam chịu giá trị vìFalse.
  • Trong đómaxsizeTham số tỏ vẻ chính là LRU hoãn tồn dung lượng, tức bị trang trí phương pháp lớn nhất nhưng hoãn tồn kết quả số lượng. Nếu nên tham số giá trị vì 128, tắc tỏ vẻ bị trang trí phương pháp nhiều nhất nhưng hoãn tồn 128 cái phản hồi kết quả; nếumaxsizeTruyền vào vìNoneTắc tỏ vẻ có thể hoãn tồn vô hạn cái kết quả.
  • NếutypedThiết trí vìTrue,Bất đồng loại hình hàm số tham số đem bị phân biệt hoãn tồn, tỷ như,f(3)Cùngf(3.0)Sẽ hoãn tồn hai lần.

Dưới là sử dụnglru_cacheƯu hoá tính toán dãy Fibonacci ví dụ:

1
2
3
4
5
@lru_cache(maxsize=None)
deffib(n):
ifn2:
returnn
returnfib(n-1)+fib(n-2)

Thường dùng nội trí kho

Ở chỗ này giới thiệu một ít viết thuật toán khả năng dùng được đến nội trí kho, cụ thể cách dùng có thể tự hành tìm tòi hoặc là đọcPhía chính phủ hồ sơ.

Kho danhSử dụng
arrayĐịnh trường số tổ
argparseMệnh lệnh hành tham số xử lý
bisectNhị phân tra tìm
collectionsCó tự từ điển, song đoan đội ngũ chờ số liệu kết cấu
fractionsSố hữu tỷ
heapqCăn cứ vào đôi ưu tiên cấp đội ngũ
ioVăn kiện lưu, nội tồn lưu
itertoolsThay đổi khí
mathToán học hàm số
os.pathHệ thống đường nhỏ chờ
randomTùy cơ số
reChính tắc biểu đạt thức
structThay đổi kết cấu thể cùng cơ số hai số liệu
sysHệ thống tin tức

Từ ví dụ mẫu đối lập C++ cùng Python

Ví dụ mẫu Lạc cốc P4779【 khuôn mẫu 】 đơn nguyên ngắn nhất đường nhỏ ( tiêu chuẩn bản )

Cấp định một cáiCái điểm,Điều có hướng biên mang phi phụ quyền đồ, thỉnh ngươi tính toán từXuất phát, đến mỗi cái điểm khoảng cách. Số liệu bảo đảm có thể từXuất phát đến tùy ý điểm.

Thanh minh đại lượng không đổi

1
2
3
4
5
6
#include&LTcstdio>
#include&LTcstring>
#include&LTqueue>
#include&LTvector>
usingnamespacestd;
constexprintN=1e5+5,M=2e5+5;
1
2
3
4
5
6
7
8
try:# dẫn vào ưu tiên đội ngũ mô khối
importQueueaspq# Python version
exceptImportError:
importqueueaspq# Python 3.*

N=int(1e5+5)
M=int(2e5+5)
INF=0x3F3F3F3F

Thanh minh trước hướng tinh kết cấu thể cùng cái khác lượng biến đổi

1
2
3
4
5
6
7
8
9
10
11
12
structqxx{
intnex,t,v;
};

qxxe[M];
inth[N],cnt;

voidadd_path(intf,intt,intv){e[++cnt]=qxx{h[f],t,v},h[f]=cnt;}

usingpii=pairint,int>;
priority_queuepii,vectorpii>,greaterpii>>q;
intdist[N];
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
classqxx:# trước hướng tinh loại ( kết cấu thể )
def__init__(self):
self.nex=0
self.t=0
self.v=0


e=[qxx()foriinrange(M)]# liên biểu
h=[0foriinrange(N)]
cnt=0

dist=[INFforiinrange(N)]
q=pq.PriorityQueue()# định nghĩa ưu tiên đội ngũ, cam chịu đệ nhất nguyên tiểu căn đôi


defadd_path(f,t,v):# ở phía trước hướng tinh trung thêm biên
# nếu muốn sửa chữa toàn cục lượng biến đổi, muốn sử dụng global tới thanh minh
globalcnt,e,h
# điều chỉnh thử khi phát ra câu nói, nhiều lượng biến đổi sử dụng nguyên tổ
# print( "add_path(%d,%d,%d)" % (f,t,v))
cnt+=1
e[cnt].nex=h[f]
e[cnt].t=t
e[cnt].v=v
h[f]=cnt

Dijkstra thuật toán

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
voiddijkstra(ints){
memset(dist,0x3f,sizeof(dist));
dist[s]=0,q.push(make_pair(0,s));
while(q.size()){
piiu=q.top();
q.pop();
if(dist[u.second]u.first)continue;
for(inti=h[u.second];i;i=e[i].nex){
constint&v=e[i].t,&w=e[i].v;
if(dist[v]dist[u.second]+w)continue;
dist[v]=dist[u.second]+w;
q.push(make_pair(dist[v],v));
}
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
defnextedgeid(u):# sinh thành khí, có thể dùng ở for tuần hoàn
i=h[u]
whilei:
yieldi
i=e[i].nex


defdijkstra(s):
dist[s]=0
q.put((0,s))
whilenotq.empty():
u=q.get()# get hàm số sẽ thuận tiện xóa bỏ đôi trung đối ứng nguyên tố
ifdist[u[1]]u[0]:
continue
foriinnextedgeid(u[1]):
v=e[i].t
w=e[i].v
ifdist[v]dist[u[1]]+w:
continue
dist[v]=dist[u[1]]+w
q.put((dist[v],v))

Chủ hàm số

1
2
3
4
5
6
7
8
9
10
11
12
13
intn,m,s;

intmain(){
scanf("%d%d%d",&n,&m,&s);
for(inti=1;im;i++){
intu,v,w;
scanf("%d%d%d",&u,&v,&w);
add_path(u,v,w);
}
dijkstra(s);
for(inti=1;in;i++)printf("%d",dist[i]);
return0;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
if__name__=="__main__":
# một hàng đọc nhập nhiều số nguyên. Chú ý nó sẽ đem chỉnh thủ đô lâm thời đọc tiến vào
n,m,s=map(int,input().split())
foriinrange(m):
u,v,w=map(int,input().split())
add_path(u,v,w)

dijkstra(s)

foriinrange(1,n+1):
print(dist[i],end="")

print()

Hoàn chỉnh số hiệu

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#include&LTcstdio>
#include&LTcstring>
#include&LTqueue>
#include&LTvector>
usingnamespacestd;
constexprintN=1e5+5,M=2e5+5;

structqxx{
intnex,t,v;
};

qxxe[M];
inth[N],cnt;

voidadd_path(intf,intt,intv){e[++cnt]=qxx{h[f],t,v},h[f]=cnt;}

usingpii=pairint,int>;
priority_queuepii,vectorpii>,greaterpii>>q;
intdist[N];

voiddijkstra(ints){
memset(dist,0x3f,sizeof(dist));
dist[s]=0,q.push(make_pair(0,s));
while(q.size()){
piiu=q.top();
q.pop();
if(dist[u.second]u.first)continue;
for(inti=h[u.second];i;i=e[i].nex){
constint&v=e[i].t,&w=e[i].v;
if(dist[v]dist[u.second]+w)continue;
dist[v]=dist[u.second]+w;
q.push(make_pair(dist[v],v));
}
}
}

intn,m,s;

intmain(){
scanf("%d%d%d",&n,&m,&s);
for(inti=1;im;i++){
intu,v,w;
scanf("%d%d%d",&u,&v,&w);
add_path(u,v,w);
}
dijkstra(s);
for(inti=1;in;i++)printf("%d",dist[i]);
return0;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
try:# dẫn vào ưu tiên đội ngũ mô khối
importQueueaspq# Python version
exceptImportError:
importqueueaspq# Python 3.*

N=int(1e5+5)
M=int(2e5+5)
INF=0x3F3F3F3F


classqxx:# trước hướng tinh loại ( kết cấu thể )
def__init__(self):
self.nex=0
self.t=0
self.v=0


e=[qxx()foriinrange(M)]# liên biểu
h=[0foriinrange(N)]
cnt=0

dist=[INFforiinrange(N)]
q=pq.PriorityQueue()# định nghĩa ưu tiên đội ngũ, cam chịu đệ nhất nguyên tiểu căn đôi


defadd_path(f,t,v):# ở phía trước hướng tinh trung thêm biên
# nếu muốn sửa chữa toàn cục lượng biến đổi, muốn sử dụng global tới thanh danh
globalcnt,e,h
# điều chỉnh thử khi phát ra câu nói, nhiều lượng biến đổi sử dụng nguyên tổ
# print( "add_path(%d,%d,%d)" % (f,t,v))
cnt+=1
e[cnt].nex=h[f]
e[cnt].t=t
e[cnt].v=v
h[f]=cnt


defnextedgeid(u):# sinh thành khí, có thể dùng ở for tuần hoàn
i=h[u]
whilei:
yieldi
i=e[i].nex


defdijkstra(s):
dist[s]=0
q.put((0,s))
whilenotq.empty():
u=q.get()
ifdist[u[1]]u[0]:
continue
foriinnextedgeid(u[1]):
v=e[i].t
w=e[i].v
ifdist[v]dist[u[1]]+w:
continue
dist[v]=dist[u[1]]+w
q.put((dist[v],v))


# nếu ngươi trực tiếp vận hành cái này Python số hiệu ( không phải mô khối thuyên chuyển gì đó ) liền chấp hành mệnh lệnh
if__name__=="__main__":
# một hàng đọc nhập nhiều số nguyên. Chú ý nó sẽ đem chỉnh thủ đô lâm thời đọc tiến vào
n,m,s=map(int,input().split())
foriinrange(m):
u,v,w=map(int,input().split())
add_path(u,v,w)

dijkstra(s)

foriinrange(1,n+1):
# hai loại phát ra ngữ pháp đều là có thể dùng
print("{}".format(dist[i]),end="")
# print( "%d" % dist[i],end=' ')

print()# kết cục đổi hành

Tham khảo hồ sơ

  1. Python Documentation,https:// Python.org/doc/
  2. Python phía chính phủ tiếng Trung giáo trình,https://docs. Python.org/zh-cn/3/tutorial/
  3. Learn Python3 In Y Minutes,https://learnxinyminutes /docs/ Python 3/
  4. Real Python Tutorials,https://real Python /
  5. Liêu núi tuyết Python giáo trình,https:// liaoxuefeng /wiki/1016959663602400/
  6. GeeksforGeeks: Python Tutorials,https:// geeksforgeeks.org/ Python -programming-language/

Tham khảo tư liệu cùng chú thích