天天看點

Python之清單 list()

# 建立清單(清單中元素類型不定,與JAVA不同(java中清單元素的資料類型是固定的))

>>> num = ['hello','world',1,2,3.14,[7,8,9]]
>>> entity = []
>>> empity = list()

# 使用清單生成式生成清單
>>> exp = [i for i in range(10)]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
           

# 添加元素

# 1、在清單末尾添加元素

#append()函數 隻能傳入一個參數;若傳入的值是清單,不會将清單中的元素擴充到另一個清單中,如:第二個例子
>>> entity.append('hi')
['hi']

>>> entity.append([1,2])
['hi', [1, 2]]

# extend() 傳入一個參數,将一個清單擴充到另一個清單中
>>> entity.extend(['hello','yes'])
['hi', [1, 2], 'hello', 'yes']

>>> entity.extend('no')
['hi', [1, 2], 'hello', 'yes', 'n', 'o']
           

# 2、在清單指定位置添加元素

# 在清單的指定位置添加元素
# 如 entity = [1, 2, 3] 清單

>>> entity.insert(1,4) # 在第2個位置插入值 4
[1, 4, 2, 3]


>>> entity.insert(0,[0,0]) # 在第1個位置插入值 [0,0]
[[0, 0], 1, 4, 2, 3]
           

# 删除元素

### remove()方法

# 删除清單中的指定元素,若該元素出現多次,則删除第一個
# 如删除清單 entity = [[0, 0], 1, 4, 2, 3] 中的元素 4
>>> entity.remove(4)
[[0, 0], 1, 2, 3]

# 如删除清單 entity = [[0, 0], 1, 2, 3, 4, 3] 中的重複元素 3
# 結果:隻删除了第一個3
>>> entity.remove(3)
[[0, 0], 1, 2, 4, 3]


### pop() 方法

# 預設删除最後一個元素,并列印删除的元素值
# 如: entity = [[0, 0], 1, 2, 4, 3]
# 最後一個元素3被删除,且列印被删除的元素 3
>>> entity.pop()
3
>>> entity
[[0, 0], 1, 2, 4]

# 指定元素下标删除元素,并列印删除的元素值
# 如: entity = [[0, 0], 1, 2, 4]
# 結果:第一個元素被删除 并列印删除的元素值[0, 0]
>>> entity.pop(0)
[0, 0]
>>> entity
[1, 2, 4]

### del 删除指定位置的元素

# 如: entity = [1, 2, 4]
# 删除第一個元素後結果為:[2, 4]
>>> del entity[0]
[2, 4]

# 如:entity = [[0, 0], 1, 2, 3, 4, 3] 删除第一個、第二個位置的元素
>>> del entity[:2]
[2, 3, 4, 3]

### clear 清空清單元素
>>> entity.clear()
           

總結:删除清單元素有4中方式:remove()、pop()、del、clear()

如果要清空整個清單一般使用 clear()方法

如果要删除某個位置的元素可使用pop()和del 方法

如果要删除某個位置區間的元素使用del方法

如果不知道元素位置隻知道元素值可用 remove()方法

# 元素操作

# 根據下标修改元素
# 如:entity=[1, 2, 3, 4, 5, 6] 把第三個元素改成2
>>> entity[2]=2
[1, 2, 2, 4, 5, 6]

# 反轉清單元素
# 如:entity=[1, 2, 2, 4, 5, 6]
>>> entity.reverse()
[6, 5, 4, 2, 2, 1]

>>> entity[::-1]
[1, 2, 2, 4, 5, 6]


##  對清單元素進行排序

# sort() 預設升序排序,在原有清單上排序
# 如:entity=[6, 5, 4, 2, 2, 1]
>>> entity.sort()
[1, 2, 2, 4, 5, 6]

# 如:entity=[1, 2, 2, 4, 5, 6] 對清單進行降序排序
>>> entity.sort(reverse = True)
[6, 5, 4, 2, 2, 1]

# sorted() 方法預設升序排序,傳回一個清單
# # 如:entity=[6, 5, 4, 2, 2, 1]
>>> sorted(entity)
[1, 2, 2, 4, 5, 6]

>>> sorted(entity, reverse = True)
[6, 5, 4, 2, 2, 1]
           

# 清單操作符

# 使用 “+” 号實作兩個清單之間的拼接
>>> entity_first = [1,2,3,4]
>>> entity_last = [3,4,5,6]
>>> entity = entity_first + entity_last
[1, 2, 3, 4, 3, 4, 5, 6]

# 使用 “*” 實作清單的複制
>>> entity_first = [1,2,3,4]

>>> entity_copy = entity_first * 1
[1, 2, 3, 4]

>>> entity_copy = entity_first * 2
[1, 2, 3, 4, 1, 2, 3, 4]

>>> entity_copy1 = entity_first[:]
[1, 2, 3, 4]

# 對清單元素進行去重操作
# 如: entity_copy = [1, 2, 3, 4, 1, 2, 3, 4]
>>> list(set(entity_copy))
[1, 2, 3, 4]
           

# 周遊清單 

entity = ['java', 'php', 'ruby', 'C++' ,'C' ,'python']

# 周遊取出值
for value in entity:
    print(value)

# 根據索引周遊取出值
for key in range(len(entity)):
    print(entity[key])

# 同時周遊索引和值
for key, value in enumerate(entity):
    print(str(key) + '-----: ' + value)