Python中可迭代对象分解为单独的变量的实现方法(代码)
本篇文章给大家带来的内容是关于Python中可迭代对象分解为单独的变量的实现方法(代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。
1、需求
现在有一个包含N个元素的元组或序列,现在想将它分解为N个单独的变量。
2、解决方案
在python中,任何序列、元组、可序列号对象,都可以通过一个简单的赋值操作来分解为单独的变量。
唯一要求是变量的总数和结构要和序列的相吻合。如果不吻合就会报错
实例展示:
#将序列分解为单独的变量 m=(1,2) x,y=m print("x=",x) print("y=",y) print("*"*30) data=["mark",18,"超级帅",(1992,5,4)] name,age,feature,birthday=data print("name=",name) print("age=",age) print("feature=",feature) print("birthday=",birthday) print("*"*30) name,age,feature,(year,mon,day)=data print("name=",name) print("age=",age) print("feature=",feature) print("year=",year) print("mon=",mon) print("day=",day)
结果
x= 1 y= 2 ****************************** name= mark age= 18 feature= 超级帅 birthday= (1992, 5, 4) ****************************** name= mark age= 18 feature= 超级帅 year= 1992 mon= 5 day= 4
3、思考
实际上不仅仅只是元组列表,只要对象是可迭代的,那么就可以执行分解操作,这包括字符串、文件、迭代器、生成器。
实例展示:
#将序列分解为单独的变量 mark="mark" m,a,r,k=mark print(m) print(a) print(r) print(k) print("*"*30) #有时候我们想丢弃某个值,单由于变量数量必须和要分解的对象的可分解数量相同,此时我们可以使用_来表示要丢弃的值。 mark="mark" m,a,r,_=mark print(m) print(a) print(r) #其实_还是一个变量,指示看起来舒服点 print(_)
结果:
m a r k ****************************** m a r k
4、需求升级
假如可序列号对象可分解为N个元素,难道我们就要创建N个元素吗?如果N值非常大怎么办?
5、解决方案升级
Python中的『*表达式』可以满足上述需求。例如,有无数个成绩列表:grades,现在想去掉第一个成绩和最后一个成绩,然后求剩下成绩的平均值:
代码
import numpy as np grades=list(range(10))#定义一个0-999的分数列表 print("grades:"+str(grades)) first,*middle,last=grades print("middle:"+str(middle)) print("去掉第一个和最后一个分数后的平均值:"+str(np.mean(middle)))
结果
grades:[0, 1, 2, 3, 4, 5, 6, 7, 8, 9] middle:[1, 2, 3, 4, 5, 6, 7, 8] 去掉第一个和最后一个分数后的平均值:4.5
当然这个【*表达式】可以位于第一个位置,也可以是最后一个,或者其它位置。
假如有一些用户记录,记录由姓名和电子邮件地址组成,后面跟着任意数量的电话号码:
record=('mark','1782980833@qq.com','18321859453','18956245389') name,email,*phone_numbers=record print(name) print(email) print(phone_numbers)
运行结果:
mark 1782980833@qq.com ['18321859453', '18956245389']
6、*表达式技巧
*表达式在迭代一个变长的元组序列时尤其有用
代码:
records=[ ('foo',1,2), ('bar','hello'), ('foo',3,4), ] def do_foo(x,y): print('foo',x,y) def do_bar(s): print('bar',s) for tag,*args in records: if tag=='foo': do_foo(*args) elif tag=='bar': do_bar(*args)
结果:
foo 1 2 bar hello foo 3 4
当和某些特定的字符串处理操作(例如拆分操作)相结合时,也非常有用
代码:
line='nobody:*:-2:-2:unp user:/var/empty:/user/nim/false' uname,*fileds,homedir,sh=line.split(':') print(uname) print(homedir) print(sh)
结果:
nobody /var/empty /user/nim/false
Atas ialah kandungan terperinci Python中可迭代对象分解为单独的变量的实现方法(代码). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



PS "Memuatkan" Masalah disebabkan oleh akses sumber atau masalah pemprosesan: Kelajuan bacaan cakera keras adalah perlahan atau buruk: Gunakan CrystaldiskInfo untuk memeriksa kesihatan cakera keras dan menggantikan cakera keras yang bermasalah. Memori yang tidak mencukupi: Meningkatkan memori untuk memenuhi keperluan PS untuk imej resolusi tinggi dan pemprosesan lapisan kompleks. Pemandu kad grafik sudah lapuk atau rosak: Kemas kini pemandu untuk mengoptimumkan komunikasi antara PS dan kad grafik. Laluan fail terlalu panjang atau nama fail mempunyai aksara khas: Gunakan laluan pendek dan elakkan aksara khas. Masalah PS sendiri: Pasang semula atau membaiki pemasang PS.

PS yang tersangkut pada "memuatkan" apabila boot boleh disebabkan oleh pelbagai sebab: Lumpuhkan plugin yang korup atau bercanggah. Padam atau namakan semula fail konfigurasi yang rosak. Tutup program yang tidak perlu atau menaik taraf memori untuk mengelakkan memori yang tidak mencukupi. Naik taraf ke pemacu keadaan pepejal untuk mempercepatkan bacaan cakera keras. Pasang semula PS untuk membaiki fail sistem rasuah atau isu pakej pemasangan. Lihat maklumat ralat semasa proses permulaan analisis log ralat.

"Memuatkan" gagap berlaku apabila membuka fail pada PS. Sebab-sebabnya mungkin termasuk: fail yang terlalu besar atau rosak, memori yang tidak mencukupi, kelajuan cakera keras perlahan, masalah pemacu kad grafik, versi PS atau konflik plug-in. Penyelesaiannya ialah: Semak saiz fail dan integriti, tingkatkan memori, menaik taraf cakera keras, mengemas kini pemacu kad grafik, menyahpasang atau melumpuhkan pemalam yang mencurigakan, dan memasang semula PS. Masalah ini dapat diselesaikan dengan berkesan dengan memeriksa secara beransur -ansur dan memanfaatkan tetapan prestasi PS yang baik dan membangunkan tabiat pengurusan fail yang baik.

Artikel ini memperkenalkan operasi pangkalan data MySQL. Pertama, anda perlu memasang klien MySQL, seperti MySqlworkbench atau Command Line Client. 1. Gunakan perintah MySQL-Uroot-P untuk menyambung ke pelayan dan log masuk dengan kata laluan akaun root; 2. Gunakan CreateTatabase untuk membuat pangkalan data, dan gunakan Pilih pangkalan data; 3. Gunakan createtable untuk membuat jadual, menentukan medan dan jenis data; 4. Gunakan InsertInto untuk memasukkan data, data pertanyaan, kemas kini data dengan kemas kini, dan padam data dengan padam. Hanya dengan menguasai langkah -langkah ini, belajar menangani masalah biasa dan mengoptimumkan prestasi pangkalan data anda boleh menggunakan MySQL dengan cekap.

Kunci kawalan bulu adalah memahami sifatnya secara beransur -ansur. PS sendiri tidak menyediakan pilihan untuk mengawal lengkung kecerunan secara langsung, tetapi anda boleh melaraskan radius dan kelembutan kecerunan dengan pelbagai bulu, topeng yang sepadan, dan pilihan halus untuk mencapai kesan peralihan semula jadi.

MySQL mempunyai versi komuniti percuma dan versi perusahaan berbayar. Versi komuniti boleh digunakan dan diubahsuai secara percuma, tetapi sokongannya terhad dan sesuai untuk aplikasi dengan keperluan kestabilan yang rendah dan keupayaan teknikal yang kuat. Edisi Enterprise menyediakan sokongan komersil yang komprehensif untuk aplikasi yang memerlukan pangkalan data yang stabil, boleh dipercayai, berprestasi tinggi dan bersedia membayar sokongan. Faktor yang dipertimbangkan apabila memilih versi termasuk kritikal aplikasi, belanjawan, dan kemahiran teknikal. Tidak ada pilihan yang sempurna, hanya pilihan yang paling sesuai, dan anda perlu memilih dengan teliti mengikut keadaan tertentu.

Pengoptimuman prestasi MySQL perlu bermula dari tiga aspek: konfigurasi pemasangan, pengindeksan dan pengoptimuman pertanyaan, pemantauan dan penalaan. 1. Selepas pemasangan, anda perlu menyesuaikan fail my.cnf mengikut konfigurasi pelayan, seperti parameter innodb_buffer_pool_size, dan tutup query_cache_size; 2. Buat indeks yang sesuai untuk mengelakkan indeks yang berlebihan, dan mengoptimumkan pernyataan pertanyaan, seperti menggunakan perintah menjelaskan untuk menganalisis pelan pelaksanaan; 3. Gunakan alat pemantauan MySQL sendiri (ShowProcessList, ShowStatus) untuk memantau kesihatan pangkalan data, dan kerap membuat semula dan mengatur pangkalan data. Hanya dengan terus mengoptimumkan langkah -langkah ini, prestasi pangkalan data MySQL diperbaiki.

Antara muka pemuatan kad PS mungkin disebabkan oleh perisian itu sendiri (fail rasuah atau konflik plug-in), persekitaran sistem (pemacu yang wajar atau fail sistem rasuah), atau perkakasan (rasuah cakera keras atau kegagalan tongkat memori). Pertama semak sama ada sumber komputer mencukupi, tutup program latar belakang dan lepaskan memori dan sumber CPU. Betulkan pemasangan PS atau periksa isu keserasian untuk pemalam. Mengemas kini atau menewaskan versi PS. Semak pemacu kad grafik dan kemas kini, dan jalankan semak fail sistem. Jika anda menyelesaikan masalah di atas, anda boleh mencuba pengesanan cakera keras dan ujian memori.
