Skip to content

Latest commit

History

History
354 lines (268 loc) 路 14.4 KB

File metadata and controls

354 lines (268 loc) 路 14.4 KB

校褉芯泻 5. 小锌懈褋泻懈, 褉褟写泻懈 褌邪 谐械薪械褉邪褌芯褉 褋锌懈褋泻褨胁

袦褨薪谢懈胁褨 褌邪 薪械蟹屑褨薪薪褨 褌懈锌懈 写邪薪懈褏

校 Python 褦 屑褨薪谢懈胁褨 (mutable) 褌邪 薪械蟹屑褨薪薪褨 (immutable) 褌懈锌懈 写邪薪懈褏.

袪邪薪褨褕械 褉芯蟹谐谢褟写邪胁褋褟 褌懈锌 写邪薪懈褏 int, 褟泻懈泄 褦 薪械蟹屑褨薪薪懈屑. 孝邪泻 褋邪屑芯 薪械蟹屑褨薪薪懈屑懈 褦 褌懈锌懈 写邪薪懈褏 tuple (泻芯褉褌械卸) 褨 string (褉褟写芯泻).

些芯 蟹薪邪褔懈褌褜 薪械蟹屑褨薪薪褨? 袟薪邪褔懈褌褜, 褖芯 胁卸械 褋褌胁芯褉械薪懈泄 褉褟写芯泻 屑懈 薪械 屑芯卸械屑芯 蟹屑褨薪懈褌懈. 笑械 谢械谐泻芯 锌芯泻邪卸褍褌褜 锌芯写邪谢褜褕褨 锌褉懈泻谢邪写懈 褨蟹 褉褟写泻邪屑懈 褨 泻芯褉褌械卸邪屑懈. 携泻褖芯 卸 蟹写邪褦褌褜褋褟, 褖芯 芯斜'褦泻褌 芯写薪芯谐芯 蟹 锌械褉械褉邪褏芯胁邪薪懈褏 写邪薪懈褏 蟹屑褨薪懈胁褋褟 - 蟹薪邪褔懈褌褜, 褌械锌械褉 褨屑'褟 芯斜'褦泻褌邪 锌褉芯褋褌芯 胁泻邪蟹褍褦 薪邪 薪芯胁褍 芯斜谢邪褋褌褜 锌邪屑'褟褌褨 蟹 薪芯胁懈屑 芯斜'褦泻褌芯屑.

袪褟写泻懈

小褌胁芯褉械薪薪褟 褉褟写泻褨胁, 谢邪锌泻懈

校 python 屑褨卸 芯写懈薪邪褉薪懈屑懈 泄 锌芯写胁褨泄薪懈屑懈 谢邪锌泻邪屑懈 锌褉邪泻褌懈褔薪芯 薪械屑邪褦 褉褨蟹薪懈褑褨, 邪 褖械 褦 写胁邪 胁懈写懈 锌芯褌褉褨泄薪懈褏. 袙褋褨 褌懈锌懈 谢邪锌芯泻 屑芯卸褍褌褜 斜褍褌懈 胁褋褌邪胁谢械薪褨 芯写薪褨 胁 芯写薪褨. 袩芯褌褉褨泄薪褨 褌邪泻 卸械 写芯蟹胁芯谢褟褞褌褜 锌械褉械褏褨写 薪邪 薪芯胁懈泄 褉褟写芯泻 胁褋械褉械写懈薪褨 褉褟写泻邪:

S1 = 'Welcome to strings'
S2 = "Another string"
S3 = """And '''another'''
long
string"""
S4 = 'This "string" is a bit """crazy"""'

袩褉芯褋褌褨 芯锌械褉邪褑褨褩

袩褉芯褋褌褨 邪褉懈褎屑械褌懈褔薪褨 芯锌械褉邪褑褨褩 褋泻谢邪写邪薪薪褟 褨 屑薪芯卸械薪薪褟 写芯褋褌褍锌薪褨 褨 蟹 褉褟写泻邪屑懈. 校 锌褉懈泻谢邪写褨 薪懈卸褔械 - 褋泻谢邪写邪薪薪褟 写胁芯褏 褉褟写泻褨胁 (泻芯薪泻邪褌械薪邪褑褨褟), 屑薪芯卸械薪薪褟 褉褟写泻邪 薪邪 褔懈褋谢芯 褌邪 胁蟹褟褌褌褟 泻芯薪泻褉械褌薪芯谐芯 械谢械屑械薪褌邪 褉褟写泻邪 蟹邪 泄芯谐芯 褨薪写械泻褋芯屑. 袉薪写械泻褋懈 褍 胁褋褨褏 锌芯褋谢褨写芯胁薪芯褋褌褟褏 褍 锌褉芯谐褉邪屑褍胁邪薪薪褨 胁胁邪卸邪褞褌褜褋褟 胁褨写 薪褍谢褟. 袩芯 薪械谐邪褌懈胁薪芯屑褍 褨薪写械泻褋褍 - 胁褨写褉邪褏芯胁褍褦屑芯 胁褨写 泻褨薪褑褟 褉褟写泻邪 薪邪蟹邪写.

S = 'abc'
print (len(S)) # 3
S = S + '12' # 袙 S = 'abc12'
print (S[2])   # 'c'
print ('ab'*2) #  'abab'

袪褟写泻懈 - 薪械蟹屑褨薪薪懈泄 褌懈锌

孝械锌械褉 锌械褉械胁褨褉懈屑芯, 薪邪褋泻褨谢褜泻懈 薪械蟹屑褨薪薪懈屑懈 褦 褉褟写泻懈 褨 褟泻 蟹 褑懈屑 斜芯褉芯褌懈褋褟:

S = 'asdfghj'
S[5] = 's'
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'str' object does not support item assignment
S = S[:5] + 's' + S[6:]

袟褉褨蟹懈 褋褌褉芯泻

Python 写芯蟹胁芯谢褟褦 胁蟹褟褌懈 褔邪褋褌懈薪褍 褉褟写泻邪 邪斜芯 薪邪胁褨褌褜 褋泻谢邪褋褌懈 蟹 械谢械屑械薪褌褨胁 褉褟写泻邪 斜褍写褜-褟泻懈泄 薪芯胁懈泄 褉褟写芯泻, 胁懈泻芯褉懈褋褌芯胁褍褞褔懈 褎褉邪谐屑械薪褌懈 (蟹褉褨蟹懈). 袩褉懈泻谢邪写懈:

>>> S = "Welcome to California!"
>>> S
'Welcome to California!'
>>> S[:5]
'Welco'
>>> S[5:]
'me to California!'
>>> S[:]
'Welcome to California!'
>>> S[:-3]
'Welcome to Californ'
>>> S[::-1]
'!ainrofilaC ot emocleW'
>>> S[:5:2]
'Wlo'

袟 锌褉懈泻谢邪写褍 胁懈写薪芯, 褖芯 蟹褉褨蟹懈 褋褌胁芯褉褞褞褌褜褋褟 褕谢褟褏芯屑 胁泻邪蟹褨胁泻懈 褍 泻胁邪写褉邪褌薪懈褏 写褍卸泻邪褏 芯斜芯胁'褟蟹泻芯胁芯褩 写胁芯泻褉邪锌泻懈. 效懈褋谢芯 写芯 写胁芯泻褉邪锌泻懈 - 胁褨写 褟泻芯谐芯 械谢械屑械薪褌邪 锌芯泻邪蟹褍胁邪褌懈, 锌褨褋谢褟 - 写芯 褟泻芯谐芯, 薪械 胁泻谢褞褔邪褞褔懈 泄芯谐芯. 携泻褖芯 薪械 胁泻邪蟹邪薪芯 锌械褉褕械 褔懈褋谢芯 - 锌芯泻邪蟹邪褌懈 胁褨写 锌芯褔邪褌泻褍, 褟泻褖芯 薪械 胁泻邪蟹邪薪芯 写褉褍谐械 - 写芯 泻褨薪褑褟. 袛褉褍谐邪 写胁芯泻褉邪锌泻邪 写芯蟹胁芯谢褟褦 胁泻邪蟹邪褌懈 褌褉械褌褦 褔懈褋谢芯 - 泻褉芯泻, 蟹 褟泻懈屑 锌芯褌褉褨斜薪芯 泄褌懈 锌芯 锌芯褋谢褨写芯胁薪芯褋褌褨.

袣芯褉懈褋薪褨 褎褍薪泻褑褨褩 褉芯斜芯褌懈 蟹 褉褟写泻邪屑懈

>>> S
'Welcome to California!'
>>> len(S) # get length of the string
22
>>> S.find('C') # get index of the first substring found
11
>>> S.replace('C', '7') # Replaces all the substrings to the new one mentioned
'Welcome to 7alifornia!'
>>> S.split() # Cuts the string using the separator provided, creates a list. By default space is used as a separator
['Welcome', 'to', 'California!']
>>> S.upper()
'WELCOME TO CALIFORNIA!'
>>> S += '\n\n'
>>> S
'Welcome to California!\n\n'
>>> S.rstrip() # removes space-like symbols at the end of string
'Welcome to California!'

袛芯写邪褌泻芯胁褍 褨薪褎芯褉屑邪褑褨褞 锌褉芯 褉褟写泻懈 褌邪 褎褍薪泻褑褨褩 褉芯斜芯褌懈 蟹 薪懈屑懈 屑芯卸薪邪 蟹薪邪泄褌懈 蟹邪 锌芯褋懈谢邪薪薪褟屑: 袛械褌邪谢褜薪褨褕械 锌褉芯 褉褟写泻懈

肖芯褉屑邪褌褍胁邪薪薪褟 褉褟写泻褨胁

袉褋薪褍褦 斜邪谐邪褌芯 蟹邪褋芯斜褨胁 褋褌胁芯褉械薪薪褟 褉褟写泻褨胁. 袦芯卸薪邪 褋褌胁芯褉褞胁邪褌懈 薪芯胁懈泄 褉褟写芯泻, 胁懈泻芯褉懈褋褌芯胁褍褞褔懈 褟泻 褨褋薪褍褞褔懈 褉褟写泻懈 褍 蟹屑褨薪薪懈褏, 褌邪泻 褨 薪芯胁褨 谢褨褌械褉邪谢懈. 袧邪泄锌褉芯褋褌褨褕懈泄 胁邪褉褨邪薪褌 - 泻芯薪泻邪褌械薪邪褑褨褟:

>>> S = 'Welcome to'
>>> C = 'Ukraine!'
>>> print(S + ' ' + C)
>>> 
Welcome to Ukraine!

肖芯褉屑邪褌褍胁邪薪薪褟 蟹 芯锌械褉邪褌芯褉芯屑 %

袆 薪邪泄斜褨谢褜褕 蟹邪褋褌邪褉褨谢懈泄 胁邪褉褨邪薪褌 褎芯褉屑邪褌褍胁邪薪薪褟 褉褟写泻褨胁 蟹邪 写芯锌芯屑芯谐芯褞 芯锌械褉邪褌芯褉邪 %. 笑械泄 锌褨写褏褨写 蟹始褟胁懈胁褋褟 褖械 褍 褔邪褋懈 褋褌胁芯褉械薪薪褟 屑芯胁懈 锌褉芯谐褉邪屑褍胁邪薪薪褟 肖芯褉褌褉邪薪 (Printf)

袩褉邪褑褞褦 褑械 褌邪泻:

>>> S = 'Welcome to'
>>> C = 'Ukraine!'
>>> print('%s %s' % (S, C))
>>>
Welcome to Ukraine!
  • %s 胁褋械褉械写懈薪褨 褉褟写泻邪 芯蟹薪邪褔邪褦, 褖芯 褌褍褌 斜褍写械 锌褨写褋褌邪胁谢械薪芯 褉褟写芯泻
  • % 锌褨褋谢褟 褉褟写泻褍 - 芯锌械褉邪褌芯褉 锌褨写褋褌邪胁谢褟薪薪褟
  • 泻芯褉褌械卸 蟹 写胁芯屑邪 蟹屑褨薪薪懈屑懈 - 褉褟写泻邪屑懈, 褟泻懈褏 斜褍写械 锌褨写褋褌邪胁谢械薪芯 蟹邪屑褨褋褌褜 %s

袨泻褉褨屑 %s 写谢褟 锌芯蟹薪邪褔械薪薪褟 褉褟写泻邪, 褌邪泻芯卸 胁懈泻芯褉懈褋褌芯胁褍褞褌褜褋褟 %d 写谢褟 褑褨谢懈褏 褔懈褋械谢 褌邪 %f 写谢褟 褔懈褋械谢 褋 泻褉邪锌泻芯褞, 褖芯 锌谢邪胁邪褦:

>>> C = 'Ukraine'
>>> S = 'welcomed'
>>> print('%d people are %s in %s!' % (3, S, C))
3 people are welcomed in Ukraine!

袛械泻褨谢褜泻邪 胁邪褉褨邪薪褌褨胁 胁懈泻芯褉懈褋褌邪薪薪褟 芯锌械褉邪褌芯褉邪 褎芯褉屑邪褌褍胁邪薪薪褟 %

肖芯褉屑邪褌褍胁邪薪薪褟 蟹邪 写芯锌芯屑芯谐芯褞 屑械褌芯写邪 .format()

袦械褌芯写 .format() 褦 褋胁褨卸褨褕懈屑 褌邪 锌芯泻褉邪褖褍褦 褋懈薪褌邪泻褋懈褋 褎芯褉屑邪褌褍胁邪薪薪褟 胁 褑褨谢芯屑褍, 邪谢械 锌褉懈 芯斜褉芯斜褑褨 胁械谢懈泻懈褏 褉褟写泻褨胁 胁褋械 卸 褌邪泻懈 斜褍写械 胁懈薪懈泻邪褌懈 锌褉芯斜谢械屑邪 蟹 褔懈褌邪薪薪褟屑.

袙懈泻芯褉懈褋褌芯胁褍褞褔懈 屑械褌芯写 褉褟写泻邪 .format() 屑芯卸薪邪 褎芯褉屑邪褌褍胁邪褌懈 褉褟写芯泻 褉褨蟹薪懈屑懈 褋锌芯褋芯斜邪屑懈:

  • 锌褨写褋褌邪胁谢褟褞褔懈 蟹屑褨薪薪褨 锌褨写褉褟写, 胁泻邪蟹褍褞褔懈 锌芯蟹懈褑褨褞
  • 锌褨写褋褌邪胁谢褟褞褔懈 蟹屑褨薪薪褨 锌褨写褉褟写 斜械蟹 胁泻邪蟹邪薪薪褟 锌芯蟹懈褑褨褩
  • 锌褨写褋褌邪胁谢褟褞褔懈 蟹屑褨薪薪褨 锌芯 薪邪蟹胁褨
  • 胁 蟹屑褨褕邪薪芯屑褍 褋褌懈谢褨

袧邪锌褉懈泻谢邪写, 蟹 胁泻邪蟹邪薪薪褟屑 锌芯蟹懈褑褨褩:

>>> S = "Information! {0} people are {1} {2} {3}!"
>>> S.format(3, 'welcomed', 'in', 'Ukraine')
'Information! 3 people are welcomed in Ukraine!'

袘械蟹 胁泻邪蟹邪薪薪褟 锌芯蟹懈褑褨褩:

>>> S = "Information! {} people are {} {} {}!"
>>> S.format(3, 'welcomed', 'in', 'Ukraine')
'Information! 3 people are welcomed in Ukraine!'

袟 薪邪蟹胁芯褞:

S = "Information! Russian people are {reaction} {pretext} {country}!"
print(S.format(country = "USA", pretext = "over", reaction = 'hated'))
# Information! Russian people are hated over USA!

袘褨谢褜褕械 褨薪褎芯褉屑邪褑褨褩 蟹邪 锌芯褋懈谢邪薪薪褟屑

肖芯褉屑邪褌褍胁邪薪薪褟 蟹邪 写芯锌芯屑芯谐芯褞 锌褉械褎褨泻褋褍 f

袧邪泄褋胁褨卸褨褕懈泄 胁邪褉褨邪薪褌 褎芯褉屑邪褌褍胁邪薪薪褟 褉褟写泻褨胁 - 蟹邪 写芯锌芯屑芯谐芯褞 锌褉械褎褨泻褋褍 f. 袟薪邪泄芯屑懈屑芯褋褜 薪邪 锌褉懈泻谢邪写褨:

>>> name = 'Jake'
>>> f'He said his name is {name}'
# 'He said his name is Jake'
>>> f'He said his name is {name!r}'
# "He said his name is 'Jake'"

笑械泄 胁邪褉褨邪薪褌 褕胁懈写褕懈泄 邪斜芯 锌褉懈薪邪泄屑薪褨 褌邪泻懈泄 卸械 褕胁懈写泻懈泄, 褟泻 褨薪褕褨 胁邪褉褨邪薪褌懈 褎芯褉屑邪褌褍胁邪薪薪褟, 邪谢械 褔懈褌邪褦褌褜褋褟 薪邪斜邪谐邪褌芯 谢械谐褕械.

袟胁械褉薪褨褌褜 褍胁邪谐褍 薪邪 !r, 褑械 褑褍泻芯褉 写谢褟 胁懈泻谢懈泻褍 屑械褌芯写邪 repr(), 褖芯 锌芯泻邪蟹褍褦 褉械锌褉械蟹械薪褌邪褌懈胁薪懈泄 胁邪褉褨邪薪褌 芯斜始褦泻褌邪. 袆 褖械 褑褨泻邪胁褨 胁邪褉褨邪薪褌懈 屑械褌芯写褨胁 str() 褌邪 ascii(), 胁褨写锌芯胁褨写薪芯 !s 褌邪 !a. 袩械褉褕懈泄 锌芯胁械褉褌邪褦 芯斜始褦泻褌 褍 胁懈谐谢褟写褨 褉褟写泻邪, 写褉褍谐懈泄 - 褍 锌褉械蟹械薪褌邪褌懈胁薪芯屑褍 胁懈谐谢褟写褨, 邪谢械 薪邪 胁褨写屑褨薪褍 胁褨写 repr(), 胁褨薪 械泻褉邪薪褍褦 褋懈屑胁芯谢懈, 褟泻褨 薪械 褦 褋褌邪薪写邪褉褌薪懈屑懈 谢褨褌械褉邪屑懈.

袗 芯褋褜 褖械 褑褨泻邪胁懈泄 锌褉懈泻谢邪写 屑褍谢褜褌褨褉褟写泻芯胁芯谐芯 胁邪褉褨邪薪褌邪 褎芯褉屑邪褌褍胁邪薪薪褟:

name = "Eric"
profession = "comedian"
affiliation = "Monty Python"
message = (
    f"Hi {name}. "
    f"You are a {profession}. "
    f"You were in {affiliation}."
)
print(message)
#'Hi Eric. You are a comedian. You were in Monty Python.'

袙械谢懈泻邪 褋褌邪褌褌褟 锌芯 锌褉械褎褨泻褋邪褏 褌邪 褎芯褉屑邪褌褍胁邪薪薪褞

List (褋锌懈褋芯泻)

小褌胁芯褉械薪薪褟 褋锌懈褋泻褨胁

袙 python 胁褨写褋褍褌薪褨 屑邪褋懈胁懈 胁 褌褉邪写懈褑褨泄薪芯屑褍 褉芯蟹褍屑褨薪薪褨 褑褜芯谐芯 褌械褉屑褨薪褍. 袧邪褌芯屑褨褋褌褜 写谢褟 蟹斜械褉褨谐邪薪薪褟 芯写薪芯褉褨写薪懈褏 (褨 薪械 褌褨谢褜泻懈) 芯斜'褦泻褌褨胁 胁懈泻芯褉懈褋褌芯胁褍褞褌褜褋褟 褋锌懈褋泻懈. 袙芯薪懈 蟹邪写邪褞褌褜褋褟 斜邪谐邪褌褜屑邪 褋锌芯褋芯斜邪屑懈:

# empty list
>>>empty_list = []
# Simple listing
>>> a = [2, 2.25, "Python"]
>>> a
[2, 2.25, 'Python']

# Transforming the string to a list
>>> b = list("help")
>>> b
['h', 'e', 'l', 'p']

>>> b = 'welcome to the hell'.split()
>>> b
['welcome', 'to', 'the', 'hell']

袨锌械褉邪褑褨褩 蟹褉褨蟹褨胁 褌邪 胁褋褌邪胁芯泻 蟹褨 褋锌懈褋泻邪屑懈

袛芯 褋锌懈褋泻褨胁 蟹邪褋褌芯褋芯胁薪褨 胁褋褨 蟹褉褨蟹懈, 褖芯 蟹邪褋褌芯褋芯胁褍褞褌褜褋褟 写芯 褉褟写泻褨胁. 袧邪 写芯写邪褌芯泻, 写芯 褋锌懈褋泻褨胁 褌邪泻懈屑 褔懈薪芯屑 屑芯卸薪邪 褖械 泄 写芯写邪胁邪褌懈 薪芯胁褨 械谢械屑械薪褌懈.

L = [1, 2, 's']
>>> L
[1, 2, 's']
>>> L[1:3]
[2, 's']
>>> L[2] = '17'
>>> L
[1, 2, '17']
>>> L[1:2]
[2]
>>> L[1:2] = ['new', 'list']
>>> L
[1, 'new', 'list', '17']

袛械褟泻褨 褎褍薪泻褑褨褩, 褖芯 锌褉邪褑褞褞褌褜 蟹褨 褋锌懈褋泻邪屑懈

>>> L = list(range(1, 11))
>>> L
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>> L.append(12) # Adds element at the end of the list
>>> L
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12]
>>> L.extend([13, 14]) # Adds second's list elements to the end of the first list
>>> L
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14]
>>> L.insert(2, 5) # Insert 5 to the second place (index)
>>> L
[1, 2, 5, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14]
>>> L.remove(5) # Removes the first 5 appeared
>>> L
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14]
>>> L
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
# map function applies the method given to the iterable proposed
>>> L = list(map(str, range(1, 11)))
>>> L # Here we have casted all integers to strings
['1', '2', '3', '4', '5', '6', '7', '8', '9', '10']
>>> S = ': '.join(L) # concats small strings into one big, using "glue". Starts as a method of "glue"
>>> S
'1: 2: 3: 4: 5: 6: 7: 8: 9: 10'

笑懈泻谢懈 褌邪 褋锌懈褋泻懈

笑懈泻谢 for 褋锌械褑褨邪谢褜薪芯 褋褌胁芯褉械薪懈泄 写谢褟 褌芯谐芯, 褖芯斜 胁懈泻芯薪褍胁邪褌懈 锌芯胁褌芯褉褞胁邪薪褨 写褨褩 蟹褨 褋锌懈褋泻邪屑懈 褌邪 褨薪褕懈屑懈 芯斜'褦泻褌邪屑懈, 褖芯 褨褌械褉褍褞褌褜褋褟. 袩邪褉邪 锌褉懈泻谢邪写褨胁:

>>> S = 'This is Sparta!!'
>>> L = S.split()
>>> L
['This', 'is', 'Sparta!!']
>>> for elem in L:
...     print('say ' + elem)
...
say This
say is
say Sparta!!

>>> for num, elem in enumerate(L):
...     print (str(num) + '. say ' + elem)
...
0. say This
1. say is
2. say Sparta!!

袟胁械褉薪褨褌褜 褍胁邪谐褍 薪邪 褎褍薪泻褑褨褞 enumerate, 褟泻邪 胁懈写邪褦 薪械 谢懈褕械 胁屑褨褋褌 褋锌懈褋泻褍, 邪 褨 泄芯谐芯 锌芯褉褟写泻芯胁懈泄 薪芯屑械褉.

List comprehensions (小锌懈褋泻芯胁褨 胁泻谢褞褔械薪薪褟)

校 屑芯胁邪褏 锌褉芯谐褉邪屑褍胁邪薪薪褟 褦 褌邪泻械 锌芯薪褟褌褌褟, 褟泻 褋懈薪褌邪泻褋懈褔薪懈泄 褑褍泻芯褉. 笑械 屑芯卸谢懈胁芯褋褌褨 屑芯胁懈 蟹邪 写械褟泻懈屑 褋锌褉芯褖械薪薪褟屑 屑芯胁薪懈褏 泻芯薪褋褌褉褍泻褑褨泄, 褟泻褨 薪械 胁锌谢懈胁邪褞褌褜 薪邪 胁懈泻芯薪邪薪薪褟 泻芯薪褋褌褉褍泻褑褨泄, 邪谢械 褋锌褉芯褖褍褞褌褜 卸懈褌褌褟 锌褉芯谐褉邪屑褨褋褌邪. 袧邪泄锌芯锌褍谢褟褉薪褨褕懈泄 褨 薪邪泄锌芯褕懈褉械薪褨褕懈泄 锌褉懈泻谢邪写 - 褋锌懈褋泻芯胁褨 胁泻谢褞褔械薪薪褟, list comprehensions.

袧懈卸褔械 薪邪胁械写械薪芯 锌褉懈泻谢邪写懈 锌褉懈胁械写械薪薪褟 蟹胁懈褔邪泄薪芯谐芯 褑懈泻谢褍 写芯 褋锌懈褋泻芯胁芯谐芯 胁泻谢褞褔械薪薪褟:

>>> l = []
>>> for x in range(1, 11):
...     l.append(x*x)
...
>>> l
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

# now with the list comprehension
>>> l2 = [x*x for x in range(1, 11)]
>>> l2
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

小懈薪褌邪泻褋懈褋 褍 list comprehensions 锌褉懈斜谢懈蟹薪芯 褌邪泻懈泄:

result_list = [actions_with_var for var in list if condition]

携泻 胁懈写薪芯 蟹 褋懈薪褌邪泻褋懈褋褍, 屑芯卸薪邪 薪邪胁褨褌褜 写芯写邪褌懈 锌械褉械胁褨褉泻褍 锌械胁薪芯褩 褍屑芯胁懈, 蟹 胁懈泻芯薪邪薪薪褟 褟泻芯褩 屑懈 写芯写邪胁邪褌懈屑械屑芯 邪斜芯 薪械 写芯写邪胁邪褌懈屑械屑芯 械谢械屑械薪褌 写芯 褉械蟹褍谢褜褌褨胁薪芯谐芯 褋锌懈褋泻褍.

袩芯褋懈谢邪薪薪褟

List comprehensions 蟹邪 5 褏胁懈谢懈薪

袟褉褨蟹懈

袛芯屑邪褕薪褦 蟹邪胁写邪薪薪褟

  1. 袩褉芯写芯胁卸褍褦屑芯 锌懈褋邪褌懈 锌褉邪泻褌懈泻懈 蟹 蟹邪薪褟褌褌褟.
  2. 袟邪泻褨薪褔褍褦屑芯 锌芯锌械褉械写薪褨 蟹邪胁写邪薪薪褟, 锌褉懈泻褉邪褕邪褦屑芯 薪邪褕褨 褉芯斜芯褌懈 (褎褨蟹斜邪蟹 芯褋芯斜谢懈胁芯) 褉褟写泻邪屑懈, 褋锌懈褋泻邪屑懈, list comprehensions...
  3. 携泻褖芯 斜芯谢褨 蟹邪屑邪谢芯, 啸邪褉写泻芯褉 写谢褟 芯褏芯褔懈褏