ዝርዝሮች (ዝርዝር) በፓይዘን ውስጥ። የዝርዝር ተግባራት እና ዘዴዎች

በፕሮግራም አወጣጥ ውስጥ፣ ዝርዝሮች ምናልባት እንደ ድርድሮች የመረጃ መዋቅር ጠቃሚ ናቸው። ዝርዝሮች ምንድን ናቸው, እንዴት እንደሚፈጠሩ? በ Python ውስጥ ከዝርዝሮች ጋር እንዴት እንደሚሰራ? ስለዚህ ጉዳይ ከጽሑፋችን ይማራሉ.

በ Python ውስጥ ዝርዝሮች ምንድን ናቸው?

ዝርዝሮች (ዝርዝር) በፓይዘን ውስጥ። የዝርዝር ተግባራት እና ዘዴዎች
Python የውሂብ አይነቶች: ዝርዝሮች

ዝርዝሮች በከፊል በድርድር ሊታወቁ ይችላሉ፣ ነገር ግን የዝርዝሮች ልዩነት እና ጥቅም (አለበለዚያ ዝርዝር ይባላሉ) የተለያዩ የመረጃ አይነቶችን ማጣመር ነው። ያም ማለት ዝርዝሩ ማንኛውንም ተከታታይ ነገሮችን ለማከማቸት ተጨማሪ እድሎችን ይከፍታል. ዝርዝር ተብሎ የሚጠራው ተለዋዋጭ የአማራጭ አወቃቀሮችን ማጣቀሻ የያዘ በማህደረ ትውስታ ውስጥ ያለውን መዋቅር ማጣቀሻ ይዟል።

በ Python ውስጥ ያለ ዝርዝር ሊሻሻሉ የሚችሉ እና ዕቃዎቻቸው ሊለያዩ የሚችሉ የተደባለቁ ዓይነቶች የታዘዙ ነገሮች ስብስብ ነው።

ምን ማለት ነው? ፍቺውን በዝርዝር እንመልከተው።

የዝርዝሩ መጠን ሊለወጥ, ሊቀንስ, አዲስ መስመሮች ሊጨመርበት ይችላል. እንዲሁም የዝርዝሩን አጠቃላይ መዋቅር መቀየር ይችላሉ. በዝርዝሩ ውስጥ ያለው ዘዴ ጥቅም ላይ በዋለ ቁጥር ዋናው ዝርዝሩ የሚቀየር እንጂ ቅጂው እንዳልሆነ አስታውስ።

ለበለጠ ግልጽነት፣ በፓይዘን ውስጥ ያለውን ዝርዝር በመደብር ውስጥ መግዛት የሚያስፈልጋቸው ምርቶች ዝርዝር አድርገው ሊያስቡ ይችላሉ። የግዢ እቅድ በሚዘጋጅበት ጊዜ ሁሉም አስፈላጊ ነገሮች አንዱ ከሌላው በታች የሚገኙ ከሆነ እና እያንዳንዳቸው የራሳቸው መስመር ካላቸው በፓይዘን ውስጥ ያለው ዝርዝር በነጠላ ሰረዝ እና በካሬ ቅንፍ የተከፋፈሉ ሁሉንም ንጥረ ነገሮች ይዟል ፓይዘን ያንን እንዲረዳ። ዝርዝር እዚህ ተጠቁሟል። ንጥረ ነገሮቹ በጥቅስ ምልክቶች ውስጥ ተዘግተዋል። ይህ የግዴታ ሁኔታ ነው, ምክንያቱም እያንዳንዱ ንጥረ ነገር የተለየ መስመር ነው.

ዝርዝር ለመፍጠር መንገዶች

ወደ ክላሲክ ምሳሌ ስንሄድ ወደፊት የምንጠቀመውን እና የምናስተካክለውን ዝርዝር እንፍጠር። ዝርዝሮችን ለመፍጠር ብዙ መንገዶች አሉ።

ከመካከላቸው አንዱ ማመልከቻ ነው አብሮ የተሰራ የተግባር ዝርዝር(). ይህንን ለማድረግ, ሊደጋገም የሚችል ማንኛውንም ነገር (ሕብረቁምፊ, ቱፕል ወይም ነባር ዝርዝር) ማካሄድ ያስፈልግዎታል. በዚህ ሁኔታ, ሕብረቁምፊ.

መጨረሻ ላይ የሆነው ይኸውና፡-

>>> ዝርዝር ('ዝርዝር') ['c', 'n', 'i', 'c', 'o', 'to']

ሁለተኛው ምሳሌ እንደሚያሳየው ዝርዝሮች ያልተገደበ ቁጥር በጣም የተለያዩ ነገሮችን ሊይዙ ይችላሉ። እንዲሁም ዝርዝሩ ባዶ ሆኖ ሊቆይ ይችላል።

>>> ሰ = [] # ባዶ ዝርዝር >>> l = ['s', 'p', ['isok'], 2] >>> ሰ [] >>> l ['s', 'p' , ['isok'], 2]

የሚቀጥለው ፣ ሦስተኛው ፣ ዝርዝሮችን የመፍጠር መንገድ የሚባሉት ናቸው። የዝርዝር ጀነሬተር.

የዝርዝር ጀነሬተር ዝርዝሮችን ለመፍጠር የተዋሃደ ግንባታ ነው። እሱ ከ loop ጋር ተመሳሳይ ነው።

>>> ሐ = [c * 3 ለ ሐ በ 'ዝርዝር'] >>> ሐ ['ll'፣ 'iii'፣ 'sss'፣ 'ttt']

እንዲሁም የበለጠ መጠን ያላቸውን መዋቅሮች ለመፍጠር ሊያገለግል ይችላል-

>>> ሐ = [ሐ * 3 ለ ሐ በ'ሊስት' ከሆነ c!= 'i'] >>> ሐ ['ll'፣ 'sss'፣ 'ttt' ሐ በ'ሊስት' ከሆነ c!= 'i' ለ d በ'አይፈለጌ መልእክት ከሆነ d!= 'a'] >>> ሐ ['ls'፣ 'lp'፣ 'lm'፣ 'ss'፣ 'sp' , 'sm', 'ts', 'tp', 'tm']]

ይሁን እንጂ ይህ የማመንጨት ዘዴ ብዙ ዝርዝሮችን ሲያጠናቅቅ ሁልጊዜ ውጤታማ አይደለም. ስለዚህ ዝርዝሮችን ለመፍጠር ለ loop መጠቀም ጥሩ ነው።

ከዝርዝሩ ውስጥ ማንኛውንም አካል ማመልከት ከፈለጉ ኢንዴክሶች ጥቅም ላይ ይውላሉ። እያንዳንዱ ንጥረ ነገር የራሱ መረጃ ጠቋሚ አለው.

መረጃ ጠቋሚው በዝርዝሩ ውስጥ ያለው ንጥረ ነገር ቁጥር ነው.

ዝርዝሩን በሚደጋገሙ ተመሳሳይ አካላት መሙላት ከፈለጉ * ምልክቱ ጥቅም ላይ ይውላል። ለምሳሌ፣ በዝርዝሩ ላይ ሶስት ተመሳሳይ ቁጥሮች ማከል አለብህ፡ [100] * 3።

የዝርዝር ተግባራት

ተግባራት ይህ ምናልባት ከሌሎች የፕሮግራም አወጣጥ ቋንቋዎች ይልቅ የፓይዘን ዋነኛ ጥቅም ነው። መሰረታዊ አብሮገነብ ተግባራት ዝርዝሮች ላይ ሊተገበሩ ይችላሉ.

ከእነዚህ ውስጥ በጣም ተወዳጅ የሆኑትን አስቡባቸው:

  • ዝርዝር (ክልል ()) - ስራው ተከታታይ ዝርዝር መፍጠር ከሆነ, የክልሉ ተግባር ጥቅም ላይ ይውላል. ይህ ተግባር የሚከተሉት ቅጾች አሉት:
  1. ክልል (መጨረሻ)። ከዜሮ ወደ ውሱን ቁጥር ዝርዝር ለመፍጠር አስፈላጊ በሚሆንበት ጊዜ ጥቅም ላይ ይውላል.
  2. ክልል (መጀመሪያ ፣ መጨረሻ)። ሁለቱም የመጀመሪያ እና የመጨረሻ ቁጥሮች ተገልጸዋል.
  3. ክልል (መጀመሪያ ፣ መጨረሻ ፣ ደረጃ)። የእርምጃ መለኪያው የምርጫውን ባህሪ ይገልጻል. ለምሳሌ፣ እያንዳንዱን አምስተኛ ቁጥር ከ1 እስከ 21 ባለው ቅደም ተከተል መምረጥ ከፈለጉ ውጤቱ የሚከተለውን ይመስላል፡ [10,15፣20፣XNUMX]።

የክልል ተግባር የኮዱን መጠን በእጅጉ ሊቀንስ ይችላል።

  • ተልባ (ዝርዝር) - በዝርዝሩ ውስጥ ምን ያህል ንጥረ ነገሮች እንዳሉ ለማወቅ ያስችልዎታል.
  • የተደረደሩ (ዝርዝር፣ [ቁልፍ]) - በዝርዝሩ ውስጥ ያሉትን እቃዎች ወደ ላይ በቅደም ተከተል ይመድባል.
  • ከፍተኛ (ዝርዝር) - ትልቁን ንጥረ ነገር ይመልሳል.
  • ደቂቃ (ዝርዝር) - ተቃራኒ ተግባር - ኤለመንቱን በትንሹ እሴት እንዲመልሱ ያስችልዎታል።

እንዲሁም ሌሎች አብሮ የተሰሩ ተግባራትን መጠቀም ይችላሉ፡-

  • ዝርዝር (ቱፕል) - አንድን ነገር ወደ ዝርዝር ይለውጣል።
  • ድምር (ዝርዝር) - ሁሉም እሴቶች ቁጥሮች ከሆኑ በዝርዝሩ ውስጥ ያሉትን ሁሉንም ንጥረ ነገሮች ያጠቃልላል ፣ ለሁለቱም ኢንቲጀሮች እና አስርዮሽዎች ይተገበራል። ሆኖም ግን, እሷ ሁልጊዜ በትክክል አታገኝም. በዝርዝሩ ውስጥ ቁጥራዊ ያልሆነ አካል ካለ ተግባሩ ስህተት ይጥላል፡- “TypeError: unsupported operand type(s) for +: 'int' and 'str'"።

የዝርዝር ዘዴዎች

ዝርዝሮች (ዝርዝር) በፓይዘን ውስጥ። የዝርዝር ተግባራት እና ዘዴዎች
የ Python ዘዴዎች ዝርዝር

ወደ ሱቅ የምንገዛቸው እቃዎች ዝርዝራችን እንመለስና የሱቅ ዝርዝሩን እንጥራው።

የሱቅ ዝርዝር = []

በመቀጠል, የዝርዝር ዘዴዎችን ያስቡ:

  • አባሪ (እቃ) - በእሱ እርዳታ በዝርዝሩ ውስጥ አንድ አካል ማከል ይችላሉ. በዚህ ሁኔታ, አዲሱ ኤለመንት መጨረሻ ላይ ይሆናል.

አዲሱን ዝርዝራችንን በትክክለኛ ምርቶች እንሙላ፡

shoplist.append(ዳቦ)

የሱቅ ዝርዝር.አባሪ(ወተት)

  • ዝርዝር.ማራዘም (A) - "ዝርዝር ወደ ዝርዝር" ያክላል. ብዙ እቃዎችን በተመሳሳይ ጊዜ ማከል ስለሚችሉ ይህ ባህሪ ጊዜን ይቆጥባል። ቀደም ሲል የፍራፍሬዎች ዝርዝር አለን እንበል, ወደ ዋናው ዝርዝር ውስጥ መጨመር አለብን.

የሱቅ ዝርዝር.ማራዘም (ፍራፍሬዎች)

  • አስገባ (መረጃ ጠቋሚ ፣ ንጥል) - ከተጠቀሰው ኢንዴክስ በፊት በተጠቀሰው ኢንዴክስ በንጥሉ ላይ ያስገባል።
  • ብዛት (እቃ) - የንጥሉ ድግግሞሽ ብዛት ያሳያል።
  • ዝርዝር.አስወግድ(ንጥል) ተቃራኒው ተግባር ነው ዝርዝር.አባሪ (x). ማንኛውንም ንጥረ ነገር ለማስወገድ ጥቅም ላይ ሊውል ይችላል. የተመረጠው ንጥል በዝርዝሩ ውስጥ ከሌለ, ስህተት ሪፖርት ተደርጓል.
  • ፖፕ ([index]) - የተመረጠውን ንጥረ ነገር ያስወግዳል እና በተመሳሳይ መንገድ ይመልሳል። ኤለመንቱ ካልተገለጸ የመጨረሻው ክፍል ከዝርዝሩ ይወገዳል.
  • ደርድር ([ቁልፍ]) - በዝርዝሩ ውስጥ ያሉትን ንጥረ ነገሮች በከፍታ ቅደም ተከተል ያስቀምጣቸዋል, ነገር ግን ተግባርን መግለጽም ይችላሉ.
  • መረጃ ጠቋሚ (ንጥል) - የመጀመሪያውን የተመረጠውን ንጥረ ነገር መረጃ ጠቋሚ ያሳያል.
  • ዘዴውን በመጠቀም ዝርዝሩን ማለትም ሁሉንም ንጥረ ነገሮቹን ማንጸባረቅ ይችላሉ ተገላቢጦሽ (ዝርዝር). የመጨረሻው ንጥረ ነገር የመጀመሪያው ይሆናል, ፔንሊቲሜት ንጥረ ነገር ሁለተኛው ይሆናል, ወዘተ.
  • የዝርዝሩ ቅጂ በትእዛዙ ተፈጥሯል። ቅዳ(ዝርዝር).
  • ጥልቅ ቅጂ (ዝርዝር) - ጥልቅ መቅዳት.
  • ዘዴውን በመጠቀም ሁሉንም የዝርዝር ክፍሎች ያስወግዱ ግልጽ (ዝርዝር).

የዝርዝር ዘዴዎች ከሕብረቁምፊ ዘዴዎች እንደሚለያዩ ልብ ሊባል የሚገባው ወዲያውኑ ዝርዝሩን ይለውጣሉ ፣ ማለትም ፣ የአፈፃፀም ውጤቱን መመለስ አያስፈልግም።

>> l = [1፣ 2፣ 3፣ 5፣ 7] >>> l. ዓይነት () >>> l [1፣ 2፣ 3፣ 5፣ 7] >>> l = l. ዓይነት() >> ማተም (l) ምንም

የሚከተለው ከዝርዝሮች ጋር አብሮ የመስራት ምሳሌ ነው።

>>> ሀ = [66.25, 333, 333, 1, 1234.5] >>> ማተም (ሀ. ቆጠራ (333) ፣ ቆጠራ (66.25) ፣ ቆጠራ ('x')) 2 1 0 >>> አስገባ (2፣ -1) >>> አ.አባሪ (333) >>> አንድ [66.25, 333, -1, 333, 1, 1234.5, 333] >>> a.index(333) 1 >> > a.remove (333) >>> a [66.25, -1, 333, 1, 1234.5, 333] >>> a.reverse () >>> a [333, 1234.5, 1, 333, -1, 66.25 ] >>> አንድ. ዓይነት () >>> አንድ [-1, 1, 66.25, 333, 333, 1234.5]

መልስ ይስጡ