0% found this document useful (0 votes)
39 views

C-16-23 Lists

The document discusses lists in Python. It defines lists as ordered collections of data that can contain different data types and allow duplicate elements. It describes common list types like standard lists, tuples which are immutable, sets which don't allow duplicates, and dictionaries which contain keys and values. It explains how to define lists, add or access elements, and slice lists to extract a subset of elements.

Uploaded by

feras
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
39 views

C-16-23 Lists

The document discusses lists in Python. It defines lists as ordered collections of data that can contain different data types and allow duplicate elements. It describes common list types like standard lists, tuples which are immutable, sets which don't allow duplicates, and dictionaries which contain keys and values. It explains how to define lists, add or access elements, and slice lists to extract a subset of elements.

Uploaded by

feras
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 26

‫اﻟﻘﺴﻢ اﻟﺜﺎﻟﺚ ‪ :‬ﺑﺎﯾﺜﻮن‬

‫اﻟﻘﻮاﺋﻢ ‪Lists‬‬
‫اﻷﻗﺳﺎم‬

‫ﻣﺣﺗوﯾﺎت اﻟﻛورس ‪:‬‬

‫ﻣﻘدﻣﺔ‬ ‫‪:‬‬ ‫اﻟﻘﺳم اﻷول‬ ‫●‬


‫اﻟﺗوﻗﻊ ‪Regression‬‬ ‫‪:‬‬ ‫اﻟﻘﺳم اﻟﺛﺎﻧﻲ‬ ‫●‬
‫ﺑرﻧﺎﻣﺞ ﺑﺎﯾﺛون‬ ‫‪:‬‬ ‫اﻟﻘﺳم اﻟﺛﺎﻟث‬ ‫●‬
‫اﻟﺗﻘﺳﯾم ‪Classification‬‬ ‫‪:‬‬ ‫اﻟﻘﺳم اﻟراﺑﻊ‬ ‫●‬
‫اﻟﺷﺑﻛﺎت اﻟﻌﺻﺑﯾﺔ ‪NN‬‬ ‫‪:‬‬ ‫اﻟﻘﺳم اﻟﺧﺎﻣس‬ ‫●‬
‫ﻧظﺎم اﻟدﻋم اﻻﻟﻲ ‪SVM‬‬ ‫‪:‬‬ ‫اﻟﻘﺳم اﻟﺳﺎدس‬ ‫●‬
‫اﻟﺗﻌﻠﯾم ﺑدون اﺷراف ‪Unsupervised ML‬‬ ‫‪:‬‬ ‫اﻟﻘﺳم اﻟﺳﺎﺑﻊ‬ ‫●‬
‫ﻣواﺿﯾﻊ ھﺎﻣﺔ )اﻟﻘﯾم اﻟﺷﺎذة ‪ ,‬ﻧظﺎم اﻟﺗرﺷﯾﺣﺎت ‪( . . .‬‬ ‫‪:‬‬ ‫اﻟﻘﺳم اﻟﺛﺎﻣن‬ ‫●‬
‫‪2‬‬
‫اﻟﻘواﺋم ‪Lists‬‬

‫ﻣﺎ ھﻲ ‪:‬‬ ‫●‬


‫○ ﻣﺟﻣوﻋﺔ ﻣن اﻟﺑﯾﺎﻧﺎت اﻟﺗﻲ ﯾﺗم ﺗﺧزﯾﻧﮭﺎ ﺑﺗرﺗﯾب ﻣﺣدد‬
‫○ ﻗد ﯾﻛون ﺑﮭﺎ اﻧواع ﻣﺧﺗﻠﻔﺔ ﻣن اﻟﺑﯾﺎﻧﺎت ﻣﺛل ‪:‬‬
‫■ ﻧﺻوص ‪String‬‬
‫■ أرﻗﺎم ‪Integer , Float , Complex‬‬
‫■ ﺑوﻟﯾﺎن ‪Boolean‬‬
‫○ ﻻ ﯾﺳﺗﻠزم ﺗﺣدﯾد ﻧوﻋﮭﺎ ﺑﺷﻛل ﻣﺳﺑق‬
‫○ ﯾﻣﻛن دﻣﺞ اﻛﺛر ﻣن ﻧوع ﻣﻌﺎ ﻓﻲ اﻟﻘﺎﺋﻣﺔ‬
‫○ ﯾﻣﻛن ﻟﻠﻘﺎﺋﻣﺔ ان ﯾﺗم ﺗﻌدﯾﻠﮭﺎ ﻻﺣﻘﺎ ‪ ,‬وﯾﺗم إﺿﺎﻓﺔ ﺑﯾﺎﻧﺎت‬

‫‪3‬‬
‫اﻟﻘواﺋم ‪Lists‬‬
‫اﻷﻧواع اﻟﻣﺧﺗﻠﻔﺔ ‪:‬‬ ‫●‬
‫○ اﻟﻘﺎﺋﻣﺔ ‪List‬‬
‫■ ﯾﺗم اﻟﺗﻌﺎﻣل ﻣﻌﮭﺎ ﺑﺎﻷﻗواس ] [‬
‫■ ﺗﺷﻣل أﻧواع ﻣﺧﺗﻠﻔﺔ ﻣن اﻟﺑﯾﺎﻧﺎت ‪ ,‬وﯾﻣﻛن ﺗﻌدﯾﻠﮭﺎ ﻻﺣﻘﺎ‬
‫○ اﻟﺻﻔوف ‪tuple‬‬
‫■ ﯾﺗم اﻟﺗﻌﺎﻣل ﻣﻌﮭﺎ ﺑﺎﻷﻗواس ) (‬
‫■ ﺗﺷﻣل ﺑﯾﺎﻧﺎت ﻏﯾر ﻗﺎﺑﻠﺔ ﻟﻠﺗﻐﯾﯾر‬
‫○ اﻟﻣﺟﻣوﻋﺔ ‪Set‬‬
‫■ ﯾﺗم اﻟﺗﻌﺎﻣل ﻣﻌﮭﺎ ﺑﺎﻷﻗواس } {‬
‫■ ﻻ ﺗﻘﺑل اﻟﺗﻛرار‬
‫○ اﻟﻘﺎﻣوس ‪Dictionary‬‬
‫■ ﯾﻛون ﺷﻛﻠﮭﺎ }'‪{a':1, 'b':2, 'c':3‬‬
‫■ ﺗﺷﻣل ﻋﻠﻲ دﻟﯾل و ﻣﻔﺎﺗﯾﺢ و ﻗﯾم‬ ‫‪4‬‬
‫اﻟﻘواﺋم ‪Lists‬‬

‫ﯾﺗم ﺗﻌرﯾﻔﮭﺎ ﻋن طرﯾق اﻧﻲ اﻛﺗب اﺳﻣﮭﺎ و اﻋﻣل اﻗواس ﻣرﺑﻌﺔ ﻓﺎﺿﯾﺔ‬ ‫●‬

‫][=‪L‬‬
‫و اﺿﯾف ﻋﻠﯾﮭﺎ ارﻗﺎم ﺑﺎﻟطرﯾﻘﺔ دﯾﮫ‬ ‫●‬

‫]‪s = [1,2,3,6,9,8,7‬‬
‫ﻣﻣﻛن اﻟﻘﺎﺋﻣﺔ ﺗﺣﺗوي ﻋﻠﻲ ﻋﻧﺎﺻر ﻣن اﻧواع ﻣﺧﺗﻠﻔﺔ‬ ‫●‬

‫] ‪s = [ “sam” , 5 , 3.2 , 5+2j‬‬


‫ﻣﻣﻛن ﯾﻛون ﻓﯾﮫ ﻟﯾﺳت ﺟوة اﻟﻠﯾﺳت‬ ‫●‬

‫] ] ‪s = [ 2 , 3, [ 4 , 5‬‬
‫‪5‬‬
‫اﻟﻘواﺋم ‪Lists‬‬

‫ﻟﻣﺎ ﺑدﺧل ﺗﯾﻛﺳت و اﺣوﻟﮭﺎ ﻟﯾﺳت ‪ ,‬ﺑﺗﻛون ﻋﻧﺎﺻرھﺎ ﻛل ﺣرف ﻣن ﺣروﻓﮭﺎ ﺣﺗﻲ اﻟﻣﺳﺎﻓﺔ‬ ‫●‬

‫)"‪x = list("love apple‬‬


‫ﻛدة ھﺎﻋﻣل ﻛل ﻋﻧﺻر ﻣن اﻟﻌﻧﺎﺻر دﯾﮫ ‪ a,b,c‬ﺗﺳﺎوي ﻛل ﺣرف ﻣن ﺣروف اﻟﻛﻠﻣﺔ ﯾﻌﻧﻲ ﻛل‬ ‫●‬
‫ﻋﻧﺻر ﻣن ﻋﻧﺎﺻر اﻟﻠﯾﺳت ‪ ,‬ﺑﺷرط ﯾﻛوﻧو ﻧﻔس اﻟﻌدد ﺑﺎﻟظﺑط‬

‫‪a,b,c,d,e,f,g = x‬‬
‫و ﻣﻣﻛن اﻛﺗب ﻋﻧﺻر ﻣﺣدد ھﯾﻛﺗﺑﻠك ﻗﯾﻣﺗﮫ ‪ ,‬وﻻﺣظ ان اول رﻗم داﯾﻣﺎ ﺑﯾﻛون ﺗرﺗﯾﺑﮫ ﺻﻔر ‪ ,‬ﻓده ﻣﻌﻧﺎه‬ ‫●‬
‫اﻟﻌﻧﺻر اﻟﺧﺎﻣس‬

‫]‪s[4‬‬

‫‪6‬‬
‫اﻟﻘواﺋم ‪Lists‬‬

‫وﻟو اﻧﺎ ﻋﺎﯾز اﻋﻣل ﻟﯾﺳت ﻋﺑﺎرة ﻋن ﻋدد ﻣن ﻋﻧﺎﺻر اﻟﻠﯾﺳت دﯾﮫ ‪ ,‬ﻓﺎﻋﻣﻠﮭﺎ ﻛدة ‪ ,‬ودﯾﮫ ﻣﻌﻧﺎھﺎ ان‬ ‫●‬
‫ﻟﯾﺳت واي ھﻲ ﻟﯾﺳﺗﮫ ﻋﺑﺎرة ﻋن اﻟﻌﻧﺎﺻر ﻣن اﻟﻌﻧﺻر ‪ 5‬ﻟﻠﻌﻧﺻر اﻟﺗﺎﺳﻊ ﻓﻲ ﻣﺻﻔوﻓﺔ ﺗﻲ ‪ ,‬ﻻﺣظ اﻧﮫ‬
‫ﺑﯾﺑدا ﺑﺎﻟرﻗم اﻻول ‪ ,‬وﯾﻧﺗﮭﻲ ﺑﺎﻟرﻗم ﻗﺑل اﻻﺧﯾر‬

‫]‪y = t[5:10‬‬
‫و ﻣﻣﻛن اﻗوﻟﮫ ھﺎت ﻛل اﻟﻌﻧﺎﺻر ﻟﻐﺎﯾﺔ اﻟﻌﻧﺻر اﻟﺳﺎدس ‪ ,‬اﺳﯾب اﻟﺧﺎﻧﺔ اﻻوﻟﻲ ﻓﺎﺿﯾﺔ‬ ‫●‬

‫]‪y = t[:7‬‬
‫ﻣﻌﻧﺎھﺎ ھﺎت اﻟﻌﻧﺎﺻر ﻣن اﻻول ‪ ,‬ﻟﻛن ﺗﺟﺎھل اﺧر ‪ 3‬ﻋﻧﺎﺻر ﻣن اﻻﺧر‬ ‫●‬

‫]‪y = t[:-3‬‬

‫‪7‬‬
‫اﻟﻘواﺋم ‪Lists‬‬

‫او ھﺎت ﻣن اﻟﻌﻧﺻر اﻟﺳﺎﺑﻊ ﻟﻐﺎﯾﺔ اﺧر ﻋﻧﺻر‬ ‫●‬

‫]‪y = t[7:‬‬
‫وﻟو ﻋﺎﯾزھﺎ ﻛﻠﮭﺎ ﺗﻛﺗب ﻛدة‬ ‫●‬

‫]‪y = t[:‬‬
‫ﯾﺗم ﻋﻣل ﺗﻌدﯾل ﻓﻲ اﻟﻠﯾﺳت‬ ‫●‬

‫‪t[7]=5‬‬
‫ﺑﺎﻣﺳﺢ ﻣن اﻟﻌﻧﺻر اﻟﺗﺎﻟت ﻟﻠﺧﺎﻣس‬ ‫●‬

‫][=]‪t[2:5‬‬
‫‪8‬‬
‫اﻟﻘواﺋم ‪Lists‬‬

‫ﺑﺎﻣﺳﺣﮭﺎ ﻛﻠﮭﺎ‬ ‫●‬

‫][=]‪t[:‬‬
‫ﻟﯾﺳت ﺟوة اﻟﻠﯾﺳت‬ ‫●‬

‫]'‪a = ['a', 'b', 'c‬‬


‫]‪n = [1, 2, 3‬‬
‫]‪x = [a, n‬‬
‫]]‪x= [['a', 'b', 'c'], [1, 2, 3‬‬
‫ﻣﻌﻧﺎھﺎ اﻟﻌﻧﺻر اﻻول ﻓﯾﮭﺎ ‪ ,‬ﯾﻌﻧﻲ اﻟﯾﺳﺗﺔ اﻻول ]'‪['a', 'b', 'c‬‬ ‫●‬

‫]‪x[0‬‬
‫‪9‬‬
‫اﻟﻘواﺋم ‪Lists‬‬

‫ﺑﺗﺳﺧدم ﻟﻣﺎ ﯾﻛون ﻋﻧدي ﻟﯾﺳت ﺟوة ﻟﯾﺳت ‪ ,‬ﻓﻛدة ﯾروح ﻟﻠﻌﻧﺻر اﻟﺳﺎدس ‪ ,‬ھﯾﻼﻗﯾﮫ ﻟﯾﺳت ‪ ,‬ﯾﺟﯾب ﻣﻧﮫ‬ ‫●‬
‫اﻟﻌﻧﺻر اﻟﺗﺎﻧﻲ‬

‫]‪x[5][1‬‬
‫وﻟو ﻋﺎﯾز اﻣﺳﺢ ﻗﯾﻣﺔ ﻓﯾﮭم اﻋﻣل دﯾل واﻛﺗب اﺳم اﻟﻠﯾﺳت و اﻻﻧدﻛﯾس‬ ‫●‬

‫]‪del t[4‬‬
‫وﻟو ﻋﺎﯾز اﻣﺳﺢ ﻛل اﻟﻠﯾﺳت اﻛﺗب ﻛدة‬ ‫●‬

‫‪del y‬‬
‫ﯾﻌﻧﻲ اﻣﺳﺢ اي ﻋﻧﺻر اﺳﻣﮫ ‪b‬‬ ‫●‬

‫)”‪y.remove(“b‬‬
‫‪10‬‬
‫اﻟﻘواﺋم ‪Lists‬‬

‫و ﻣﻣﻛن اﺿم ﻋﻧﺎﺻر ﻟﯾﺳﺗﺗﯾن ﻋﻠﻲ ﺑﻌض‬ ‫●‬

‫‪ss= y + t‬‬
‫وﻟو ﻋﻣﻠت ﺿرب ﻟﻠﯾﺳﺗﺔ ﻓﻲ رﻗم ‪ ,‬ﺳﺎﻋﺗﮭﺎ ھﺗﺗﻛرر اﻟﻌﻧﺎﺻر ﺧﻣس ﻣرات‬ ‫●‬

‫‪y*5‬‬
‫ﻟو ﻋﺎﯾز ﻣﺛﻼ اﻋﻣل ﻟﺳﺗﺔ ﻓﯾﮭﺎ اﻟف رﻗم اﻧﺗﺟر‬ ‫●‬

‫‪x = [0] * 1000‬‬


‫ﻟو ﻋﺎﯾز اﻋﻣل ﻟﺳﺗﺔ ﻓﯾﮭﺎ اﻟف رﻗم ﻓﻠوت‬ ‫●‬

‫‪x = [0.0] * 1000‬‬


‫‪11‬‬
‫اﻟﻘواﺋم ‪Lists‬‬

‫ﻟو ﻋﺎﯾز ﻣﺛﻼ اﻋﻣل ﻟﺳﺗﺔ ﻓﯾﮭﺎ اﻟف ﺳﺗرﻧﺞ‬ ‫●‬

‫‪x = [’s’] * 1000‬‬


‫ﻛدة ھﺎﻋﻣل ﻋﺷر ﻟﺳﺗﺎت ‪ ,‬ﻛل واﺣدة ‪ 8‬ﻋﻧﺎﺻر ‪ ,‬وﻛﺎﻧﮭﺎ ﻣﺻﻔوﻓﺔ ‪ 8‬ﻓﻲ ‪10‬‬ ‫●‬

‫‪x = [[0]*8] *10‬‬


‫وﻟو ﻋﺎﯾز اﻋرف ھﻣﺎ ﻛﺎم ﻋﻧﺻر‬ ‫●‬

‫)‪len (y‬‬
‫ﻣﺟﻣوع ﻗﯾﻣﮭﺎ ﻟو ارﻗﺎم ‪ ,‬وﻟو اﻟﻌﻧﺎﺻر ﻓﯾﮭﺎ ﺣﺎﺟﺔ ﻣش ارﻗﺎم ﻣش ھﺗﻧﻔﻊ‬ ‫●‬

‫)‪sum(y‬‬
‫‪12‬‬
‫اﻟﻘواﺋم ‪Lists‬‬

‫اﻗل او اﻛﺑر ﻗﯾﻣﺔ ﻓﯾﮭﺎ وﻟو اﺳﺗﺧدﻣﻧﺎھﺎ ﻓﻲ اﻟﺳﺗرﻧﺞ ‪ ,‬ھﯾﺗﻌﺎﻣل ان ﺣروف ‪ a, b , c‬ھﻲ اﻻﺻﻐر و‬ ‫●‬
‫ان ‪ x , y , z‬اﻛﺑر‬

‫)‪max(y‬‬
‫)‪min(y‬‬
‫ﺑﯾرﺗﺑﮭم ﻣن اﻟﺻﻐر ﻟﻠﻛﺑﯾر ‪ ,‬ﺳواء ارﻗﺎم او ﺣروف‬ ‫●‬

‫)‪sorted(y‬‬
‫ﻟو ﻋﻣﻠت اﻣر ‪ sort‬وﻗﺗﮭﺎ ھﯾﺗم ﺗرﺗﯾب اﻟﻘﺎﺋﻣﺔ ﻧﻔﺳﮭﺎ‬ ‫●‬

‫)(‪y.sort‬‬

‫‪13‬‬
‫اﻟﻘواﺋم ‪Lists‬‬

‫ﺑﯾرﺗب ﻣن اﻟﻛﺑﯾر ﻟﻠﺻﻐﯾر‬ ‫●‬

‫)‪sorted(y,reverse = True‬‬
‫ﻟو ﻋﺎﯾز ارﺗب ﺑﻧﺎء ﻋﻠﻲ اﻟﻌﻧﺻر اﻟﺗﺎﻧﻲ ﻣش اﻻول ‪ ,‬ﯾﻌﻧﻲ دﯾﮫ‬ ‫●‬

‫])‪[('At', 85), ('Br', 35), ('Cl', 17), ('F', 9), ('I', 53‬‬

‫ھﺗﻛون ﻛدة‬ ‫●‬

‫])‪[('F', 9), ('Cl', 17), ('Br', 35), ('I', 53), ('At', 85‬‬

‫)]‪sorted(y, key=lambda e: e[1‬‬


‫‪14‬‬
‫اﻟﻘواﺋم ‪Lists‬‬

‫ﺑﻧﺎء ﻋﻠﻲ اﻟﻌﻧﺻر اﻟراﺑﻊ ‪ ,‬ﺗرﺗﯾب ﻋﻛﺳﻲ )اﻟﻛﺑﯾر ﻟﻠﺻﻐﯾر(‬ ‫●‬

‫)]‪sorted(y,reverse = True, key=lambda e: e[3‬‬


‫ھﯾﻔﺻﺻﮭﺎ ﺑﻧﺎء ﻋﻠﻲ ﻛﻠﻣﺎت ﻣش ﺣروف‬ ‫●‬

‫)(‪s.split‬‬
‫ﻟو ﻋﺎﯾز اﻋرف ھل ﻓﯾﮫ ﻋﻧﺻر ﻣﻌﯾن ﻣوﺟود ﻓﻲ اﻟﻠﯾﺳت وﻻ ﻻ ‪ ,‬اﻛﺗب اﻟﻌﻧﺻر ﺑﻌدھﺎ ان ﺑﻌدھﺎ‬ ‫●‬
‫اﻟﻠﯾﺳت ‪ ,‬وھﺗرﺟﻌﻠﻲ ب ‪ true‬او ‪false‬‬

‫‪7 in y‬‬
‫ھﻧزود ﻋﻠﻲ اﻟﻘﺎﯾﻣﺔ ‪ y‬ﻛل ﻋﻧﺎﺻر ‪x‬‬ ‫●‬

‫)‪y.extend(x‬‬ ‫‪15‬‬
‫اﻟﻘواﺋم ‪Lists‬‬

‫اﺿﯾف ﻗﯾﻣﺔ ﻟﻠﻠﯾﺳﺗﺔ‬ ‫●‬

‫)‪y.append (555‬‬
‫ﻟو ﻋﺎﯾز اﺿﯾف ﻋﻧﺻر ﻓﻲ ﻣﻛﺎن ﻣﻌﯾن ﻓﻲ اﻟﻠﯾﺳت ) ﻣش ﻓﻲ اﻻﺧر ( ﯾﺑﻘﻲ اﻧﺳرت ‪ ,‬اﻛﺗب اﻻول رﻗم‬ ‫●‬
‫اﻻﻧدﯾﻛس اﻟﻣطﻠوب ‪ ,‬وﺑﻌدھﺎ اﻛﺗب اﻟﻘﯾﻣﺔ‬

‫)‪y.insert(5,999999‬‬
‫ﻟو ﻋﺎﯾز اﺷوف اﻟﻌﻧﺻر اﻟﻔﻼﻧﻲ اﺗﻛرر ﻛﺎم ﻣرة اﺳﺗﺧدم ﻛﺎوﻧت‬ ‫●‬

‫)‪y.count (555‬‬
‫ﻟو ﻋﺎﯾز اﻋرف اﻟﻌﻧﺻر اﻟﻔﻼﻧﻲ رﻗﻣﮫ ﻛﺎم ‪ :‬اﻧدﯾﻛس‬ ‫●‬

‫)‪y.index (5‬‬ ‫‪16‬‬


‫اﻟﻘواﺋم ‪Lists‬‬

‫ﻣﻣﻛن اﻋﻣل ﻋﻛس ﻟﺗرﺗﯾب اﻟﻌﻧﺎﺻر ‪ ,‬اﻻﺧر اول و اﻻول اﺧر‬ ‫●‬

‫)(‪x.reverse‬‬
‫ﯾﺣذف اﺧر ﻋﻧﺻر ﻓﻲ اﻟﻠﯾﺳﺗﺔ‬ ‫●‬

‫)(‪y.pop‬‬
‫ﯾﺣذف اﻟﻌﻧﺻر اﻟﺧﺎﻣس ﻓﻲ اﻟﻠﯾﺳﺗﺔ‬ ‫●‬

‫)‪y.pop(4‬‬
‫داﻟﺔ اﺳﻣﮭﺎ اﻟرﯾﻧﺞ ‪ ,‬ودﯾﮫ ﺑﺗﺳﺗﺧدم ﻟﻌﻣل ارﻗﺎم ﻣن ﺻﻔر ﻟﻘﺑل اﻟرﻗم اﻟﻣﻌطﻲ ﺑواﺣد‬ ‫●‬

‫)‪N = range(20‬‬
‫‪17‬‬
‫اﻟﻘواﺋم ‪Lists‬‬

‫وﻋﺷﺎن اﺣوﻟﮭﺎ ﻟﻠﺳﺗﺔ ‪ ,‬اﺳﺗﺧدم ده‬ ‫●‬

‫))‪M = list(range(20‬‬
‫وﻟو ﻋﺎﯾز رﯾﻧﺞ ﻣن رﻗم ﻟرﻗم )ﻧﺎﻗص واﺣد(ﺗﻌﻣﻠﮫ ﻛدة ‪ ,‬ھﺗﻼﻗﻲ ان اﻻرﻗﺎم اﺗﻌرﺿت ﻣن ‪ 2‬ﻟـ ‪19‬‬ ‫●‬

‫)‪N = range(2,20‬‬
‫وﻟو ﻋﺎﯾز ﯾﻛون ﻓﯾﮫ ﺧطوة اﻋﻣل ﻛدة )ﯾﻌﻧﻲ ‪( . . . 8 , 5 , 2‬‬ ‫●‬

‫)‪N = range(2,20,3‬‬

‫‪18‬‬
‫اﻟﻘواﺋم ‪Lists‬‬

‫و ﻣﻣﻛن ﯾﻛون ﺗﻛوﯾن اﻟﻠﯾﺳت ‪ ,‬ﺑﺎﻟﺷﻛل ده ‪ ,‬اﻧﻲ اﻗوﻟﮫ ﻋﺎﯾز ﺗﻛﻌﯾب ﻛل اﻻرﻗﺎم ﻣن ﺻﻔر ﻟـ ‪11‬‬ ‫●‬

‫])‪y = [ x**3 for x in range(12‬‬


‫)))‪y = list(map(lambda x : x**3 , range(12‬‬
‫اﺣد اﻟطرق اﻟﺗﻲ ﯾﻣﻛن ﺑﮭﺎ اﻧﺷﺎء ﻟﯾﺳت‬ ‫●‬

‫])‪ss = [-5 + i*0.5 for i in range(20‬‬


‫و ﻣﻣﻛن اﻛوﻧﮭﺎ ﺑﺎﻟﺷﻛل ده ‪ ,‬ﺑﺣﯾث ھﺗﺳﺎوي ])‪[(4 ,3) ,(1 ,3) ,(4 ,2) ,(1 ,2) ,(3 ,2) ,(4 ,1) ,(3 ,1‬‬ ‫●‬

‫]‪f = [(x, y) for x in [1,2,3] for y in [3,1,4] if x != y‬‬


‫ﻟو ﻋﺎﯾز اﻋﻣل ﻟﺳﺗﺔ ﻣن ﺑﻌدﯾن ‪ ,‬ﻋدد اﻟﺻﻔوف ‪ 7‬و ﻋدد اﻟﻌواﻣﯾد ‪5‬‬ ‫●‬

‫])‪L = [[0 for i in range(5)] for j in range(7‬‬


‫‪19‬‬
‫اﻟﻘواﺋم ‪Lists‬‬

‫ﻟﻣﺎ ﺑﺎﻋﻣل ‪ iter‬ﻗﺑل اي ﻟﯾﺳت ‪ ,‬ﻛل ﻣﺎ اﻧده ﻟﮭﺎ ﺑﻛﻠﻣﺔ ‪ , next‬ھﯾﺟﯾب اﻟﻘﯾﻣﺔ اﻟﻠﻲ ﺑﻌدھﺎ‬ ‫●‬

‫)]‪I = iter([2, 4, 6, 8, 10‬‬


‫))‪print(next(I‬‬
‫))‪print(next(I‬‬

‫ﻧﻔس اﻟﻛﻼم ﻟو ‪ iter‬ﻣﻊ ‪range‬‬ ‫●‬

‫))‪I = iter(range(20‬‬

‫‪20‬‬
‫اﻟﻘواﺋم ‪Lists‬‬

‫ﻟو ﺗم ﻣﺳﺎوة ﻟﯾﺳت ﺑﻠﯾﺳت ‪ ,‬ﻓﻛل ﻗﯾﻣﮭﺎ ھﺗﻛون ﻧﻔﺳﮭﺎ‬ ‫●‬

‫]‪x = [1,2‬‬
‫‪y=x‬‬
‫ﻟو ﺗم ﺗﻌدﯾل ﻗﯾم ﻣﻌﯾﻧﺔ ﻓﻲ اﻟﻠﯾﺳت )ﺣﺗﻲ ﻟو ﻛﻠﮭﺎ( ﻓﺎﻟﻠﯾﺳﺗﺔ اﻟﺟدﯾدة ‪ y‬ھﯾﺗم اﻟﺗﻌدﯾل ﻓﯾﮭﺎ ‪ ,‬ﺣﺗﻲ ﻟو ﻣﻘﻠﺗش‬ ‫●‬
‫ﺗﺎﻧﻲ ان ‪y=x‬‬

‫]‪x = [1,2‬‬
‫‪y=x‬‬

‫‪x[0] = 5‬‬
‫‪x[1] = 15‬‬ ‫‪21‬‬
‫اﻟﻘواﺋم ‪Lists‬‬

‫ﻟﻛن ﻟو ﺗم ﺗﻌدﯾل اﻟﻠﯾﺳت اﻻوﻟﻲ ﻛﻠﮭﺎ ﺑﺎرﻗم ﺗﺎﻧﯾﺔ ‪ ,‬ﺑﺎﻟﻠﯾﺳت اﻟﻠﻲ ﻛﺎﻧت ﺑﺗﺳﺎوﯾﮭﺎ ‪ y‬ﻣش ھﺗﺗﻌدل ‪,‬‬ ‫●‬
‫وھﺗﻔﺿل ﺑﻧﻔس ﻗﯾﻣﮭﺎ اﻟﻘدﯾﻣﺔ‬

‫]‪x = [1,2‬‬
‫‪y=x‬‬

‫]‪x = [6,9‬‬

‫‪22‬‬
‫اﻟﻘواﺋم ‪Lists‬‬

‫و ﻣن اﻷدوات اﻟﻘوﯾﺔ ﻣﻊ اﻟﯾﺳت او اﻟﺗﺎﺑل ‪ ,‬اداة ‪ , enumerate‬واﻟﻠﻲ ﺑﺗﺧﻠﯾك ﺗﻘطﻊ اي ﺳﺗرﻧﺞ ‪,‬او‬ ‫●‬
‫ﺗﻣﺳك اي ﻟﺳت او ﺗﺑل ‪ ,‬ﻋﺷﺎن ﺗﺎﺧد اﻟﻌﻧﺎﺻر ﻓﯾﮭﺎ و ﺗرﻗﻣﮭﺎ‬
‫ال‪ enumerate‬ﺑﺗﺎﺧد ﻗﯾﻣﺗﯾن ‪ ,‬اﻷوﻟﻲ اﻟﻌداد ‪ ,‬واﻟﺗﺎﻧﯾﺔ اﻟﻌﻧﺻر ﻧﻔﺳﮫ‬ ‫●‬

‫]'‪my_list = ['apple', 'banana', 'grapes', 'pear‬‬


‫‪for c, value in enumerate(my_list, 1):‬‬
‫)‪print(c, value‬‬
‫وﻟو اﻧﺎ ادﯾﺗﮫ رﻗم ﻣﻌﯾن ‪ ,‬ھﯾﺑدا ﺑﯾﮫ ‪ ,‬ﺑﺣﯾث اول ﻋﻧﺻر ھﯾﻛون رﻗﻣﮫ ‪4‬‬ ‫●‬

‫)‪enumerate(items, 4‬‬

‫‪23‬‬
‫اﻟﻘواﺋم ‪Lists‬‬

‫اداة ﺗﺎﻧﯾﺔ ﻓﻲ ﻧﻔس اﻟﺳﯾﺎق ھﻲ اﻟـ ‪ zip‬و اﻟﻠﻲ ﺑﺗﺟﻣﻊ ﻋﻧﺎﺻر اﺗﻧﯾن ﻟﯾﺳت ‪ ,‬ﺑﺣﯾث ﺗرﺑط ﺑﯾن واﺣدة ﻣن‬ ‫●‬
‫ھﻧﺎ وﻣن ھﻧﺎك‬
‫ﯾﻌﻧﻲ ھﻧﺎ ھﯾﺗم اﻟﺟﻣﻊ ﺑﯾن اﻟﻌﻧﺻر اﻻول ھﻧﺎ ‪ ,‬واﻻول ھﻧﺎ ‪ ,‬ﺑﻌدھﺎ اﻟﺗﺎﻧﻲ ھﻧﺎ ‪ ,‬واﻟﺗﺎﻧﻲ ھﻧﺎ و ھﻛذا‬ ‫●‬

‫]'‪alist = ['a1', 'a2', 'a3‬‬


‫]'‪blist = ['b1', 'b2', 'b3‬‬

‫‪for a, b in zip(alist, blist):‬‬


‫)‪print (a, b‬‬

‫‪24‬‬
Lists ‫اﻟﻘواﺋم‬

operator ‫ واﻟﺗﻲ ﯾﺗم اﺳﺗدﻋﺎﺋﮭﺎ ﻣن‬itemgetter ‫ﻣن اﻻدوات اﻟﻣﺳﺗﺧدﻣﺔ ﻓﻲ اﻟﺗرﺗﯾب‬ ●

from operator import itemgetter

student_tuples = [('john', 'A', 15),('jane', 'B', 12),('dave', 'B', 10),]

print(sorted(student_tuples, key=itemgetter(2)))

‫ وھو اﻟﺳن‬, ‫ ﺗﺑﻌﺎ ﻟﻠﻌﻧﺻر اﻟﺛﺎﻟث‬, ‫ﻛدة ھﯾرﺗب اﻟﻘﯾم‬ ●

25
‫اﻟﻘواﺋم ‪Lists‬‬

‫ﻛدة ھﯾرﺗﺑﮭم ﺗﺑﻌﺎ ﻟﻠﻌﻧﺻر اﻟﺗﺎﻧﻲ )اﻟﺣروف( وﻟو ﺗﺳﺎوت ﻗﯾﻣﺗﯾن ‪ ,‬ھﯾرﺗﺑﮭم ﺗﺑﻌﺎ ﻟﻠﻌﻧﺻر اﻟﺗﺎﻟت‬ ‫●‬
‫)اﻟﺳن(‬

‫)))‪print(sorted(student_tuples, key=itemgetter(1,2‬‬
‫ﻣن ﻧﻔس اﻟﻣﻛﺗﺑﺔ ﻣﻣﻛن ﻧﺳﺗﺧدم اداة ‪methodcaller‬‬ ‫●‬
‫ﻣﻌﻧﺎھﺎ رﺗب اﻟﻛﻠﻣﺎت دﯾﮫ ﺗﺑﻌﺎ ﻟﻌدد ﺣرف ‪ a‬ﻓﯾﮭﺎ‬ ‫●‬

‫]'‪messages = ['critical!!!', 'hurry!', 'bla bla', 'alabama‬‬


‫))'‪print sorted(messages, key=methodcaller( 'count', 'a‬‬

‫‪26‬‬

You might also like