Python知識點總結篇(二)

列表

  • 列表:一個值,包含多個字構成的序列,用[ ]括起來,[]是一個空列表,不包含任何值,相似於空字符串,負數下標表示從後邊開始,-1表示列表最後一個下標,它是一種可變的數據類型,值能夠添加、刪除或改變;
  • +用於鏈接兩個列表並獲得一個新列表;*用於一個列表和一個整數,實現列表的複製;del將刪除列表中下標處的值;innot in用於肯定一個值是否在列表中;
  • 多重賦值技巧:變量數目和列表長度必須嚴格相等,eg;
cat = ['fat', 'black', 'loud']
size, color, disposition = cat
  • sort()方法對列表中排序時需注意的3件事:
    • sort()方法當場對列表排序;
    • 不能對既有數字又有字符串值的列表排序;
    • 對字符串排序時,使用"ASCII 字符順序";
  • sort()sorted()方法的比較:sort(key = None, reverse = False)就地改變列表,sorted(iterable, key = None, reverse = False)返回新的列表,對全部可迭代對象均有效;
supplies = ['pens', 'staplers', 'flame-throwers', 'binders']
supplies.sort()
print(supplies)
supplies = ['pens', 'staplers', 'flame-throwers', 'binders']
sortedSupplies = sorted(supplies)
print(supplies)
print(sortedSupplies)

  • \:續行字符;
  • 元組:使用( ),和字符串同樣是不可變的,值不能被修改、添加或刪除;
  • 序列與元組的轉換:list()將元組轉換爲序列,tuple()將序列轉換爲元組;
#序列轉元組
pets = ['K', 'M', 'N']
print(tuple(pets))
#元組轉序列
pets = ('K', 'M', 'N')
print(list(pets))

  • 列表的引用:列表賦給一個變量時,不直接保存到變量,而是將列表的「引用」賦給了該變量,因此當改變變量的值時,原列表的值也要隨着改變;
>>> spam = [0, 1, 2, 4, 5]
>>> chees = spam
>>> cheese[1] = 'Hello'
>>> spam
[0, 'Hello', 2, 4, 5]
>>> cheese
[0, 'Hello', 2, 4, 5]
  • copy()deepcopy():處理列表或序列時,若不但願改動影響原來的列表或字典,則使用copy()函數,如果要複製的列表中包含了列表,則使用deepcopy()代替;

字典和結構化數據

  • 字典:{key:value}
  • 字典與列表:列表是有序的,而字典是無序的,所以字典不可像列表同樣切片;
  • keys()values()items():分別對應於字典的鍵、值和鍵-值對;
  • get(要取得其值的鍵, 鍵不存在時返回的備用值)
>>> picnicItems = {'apples':5, 'cpus':2}
>>> 'I am bringing ' + str(picnicItems.get('cups', 0) + ' cups.'
I am bringing 2 cups.
>>> 'I an bringing ' + str(picnicItems.get('eggs', 0) + ' cups.'
I am bringing 0 eggs.
  • setdefault(要檢查的鍵, 檢查的鍵不存在時設置的值):第一次調用以後即存在,再次調用不會改變第一次賦給的鍵值;
>>> spam = {'name':'Pooka', 'age':5}
>>> spam.setdefault('color', 'black')
'black'
>>> spam
{'color':'black', 'age':5, 'name':'Pooka'}
>>> spam.setdefault('color', 'white')
'black'
>>> spam
{'color':'black', 'age':5, 'name':'Pooka'}
  • 集合:無序、不重複的數據組合,主要做用爲:python

    • 去重, 把一個列表變成集合,就自動去重了;
    • 關係測試,測試兩組數據以前的交集、差集、並集等關係;
  • 格式輸出:pprint()pformat()app

import pprint
info = {'name':'K', 'age': 23}
pprint.pprint(info)
#下列這句和上句結果相同
#print(pprint.pformat(info))

  • 嵌套的字典和列表
#嵌套的字典和列表
allGuests = {'Alice':{'apple':4, 'pretzels':19},
             'Bob':{'apple':3, 'sandwiches':4},
             'Carol':{'cups':5, 'apple pies':4}}
def totalBrought(guests, item):
    numberBrought = 0;
    for k, v in guests.items():
        numberBrought += v.get(item, 0)
    return numberBrought

print('Apple = ' + str(totalBrought(allGuests, 'apple')))

字符串操做

  • 字符串既能夠用單引號,也能夠用雙引號開始和結束;
  • 轉義字符:\
  • 原始字符串:在字符串開始的引號前加上r,原始字符串徹底忽略全部的轉義字符,打印出字符串中全部的倒斜槓;
>>> print(r'That is Carol\'s cat.')
That is Carol\'s cat.
  • 多行字符串:多行字符串的起止是3個單引號或3個雙引號,三重引號之間的全部引號、製表符或換行,都被認爲是字符串的一部分,此時縮進規則不適用;
>>> print('''Dear Alice,
Eve's cat has been arrested for catnapping, cat burglary, and extortion.

Sincerely,
Bob''')
Dear Alice,
Eve's cat has been arrested for catnapping, cat burglary, and extortion.

Sincerely,
Bob
  • 文本對齊:左對齊ljust(),右對齊rjust(),居中center()
  • 向計算機剪貼板發送或接受文本,須要用到pyperclip模塊中的copy()paste()函數;
  • 字符串的格式化

相關文章
相關標籤/搜索