1. 程式人生 > >Python列表、元祖、字典的常用方法

Python列表、元祖、字典的常用方法

#######################################灰魔法: list類中提供的方法 #######################################

# li = [11, 22, 33, 22, 44]
# 引數
# 1. 原來值最後追加
# 物件.方法(..)   # li物件呼叫append方法
# li.append(5)
# li.append("alex")
# li.append([1234,2323])
# print(li)
# 2 清空列表
# li.clear()
# print(li)

# 3 拷貝,淺拷貝
# v = li.copy()
# print(v)
# 4. 計算元素出現的次數
# v = li.count(22)
# print(v)

# 5. 擴充套件原列表,引數:可迭代物件
# li = [11, 22, 33, 22, 44]
# li.append([9898,"不得了"])
# [11, 22, 33, 22, 44, [9898, '不得了']]

# li.extend([9898,"不得了"])
# for i in [9898,"不得了"]:
#     li.append(i)
# [11, 22, 33, 22, 44, 9898, '不得了']
#
# li.extend("不得了")
# print(li)

# 6. 根據值獲取當前值索引位置(左邊優先)
# li = [11, 22, 33, 22, 44]
# v= li.index(22)
# print(v)

# 7. 在指定索引位置插入元素
# li = [11, 22, 33, 22, 44]
# li.insert(0,99)
# print(li)

# 8、 刪除某個值(1.指定索引;2. 預設最後一個),並獲取刪除的值
# li = [11, 22, 33, 22, 44]
# v = li.pop()
# print(li)
# print(v)

# li = [11, 22, 33, 22, 44]
# v = li.pop(1)
# print(li)
# print(v)
# 9. 刪除列表中的指定值,左邊優先
# li = [11, 22, 33, 22, 44]
# li.remove(22)
# print(li)
# PS: pop remove del li[0]    del li[7:9]   clear

# 10 將當前列表進行翻轉
# li = [11, 22, 33, 22, 44]
# li.reverse()
# print(li)

# 11 列表的排序
# li = [11,44, 22, 33, 22]
# li.sort()
# li.sort(reverse=True)
# print(li)
### 欠
# cmp
# key
# sorted

####################################### 深灰魔法 #######################################
# 1. 列表格式
# 2. 列表中可以巢狀任何型別
# 中括號括起來
# ,分割每個元素
# 列表中的元素可以是 數字,字串,列表,布林值..所有的都能放進去
# “集合”,內部放置任何東西
"""
# 3.
# 索引取值
print(li[3])
# 4 切片,切片結果也是列表
print(li[3:-1])

# 5 for迴圈
# while迴圈
for item in li:
    print(item)
"""
# 列表元素,可以被修改

# li = [1, 12, 9, "age", ["石振文", ["19", 10], "龐麥郎"], "alex", True]

############## 6 索引
# 修改
# li[1] = 120
# print(li)
# li[1] = [11,22,33,44]
# print(li)

# 刪除,第一種方式
# del li[1]
# print(li)
############## 7 切片
# 修改
# li[1:3] = [120,90]
# print(li)
# 刪除
# del li[2:6]
# print(li)

# 8 in 操作
# li = [1, 12, 9, "age", ["石振文", ["19", 10], "龐麥郎"], "alex", True]
# v1 = "石振文" in li
# print(v1)
# v2 = "age" in li
# print(v2)
###### 列表中的元素,

# 9 操作
# li = [1, 12, 9, "age", ["石振文", ["19", 10], "龐麥郎"], "alex", True]
# li[4][1][0]
# [1]

# li = [1, 12, 9, "age", ["石振文", ["19", 10], "龐麥郎"], "alex", True]

# s = "pouaskdfauspdfiajsdkfj"
# s = 123
# a = "123"
# int(a)
# a = 123
# str(a)
# 10 轉換
# 字串轉換列表   li =  list("asdfasdfasdf"), 內部使用for迴圈
# s = "pouaskdfauspdfiajsdkfj"
# new_li = list(s)
# print(new_li)

# 列表轉換成字串,
# 需要自己寫for迴圈一個一個處理: 既有數字又有字串
# li = [11,22,33,"123","alex"]
# # r = str(li) # '[11,22,33,"123","alex"]'
# # print(r)
# s = ""
# for i in li:
#     s = s + str(i)
# print(s)
# 直接使用字串join方法:列表中的元素只有字串
# li = ["123","alex"]
# v = "".join(li)
# print(v)

### 補充:字串建立後,不可修改
# v = "alex"
# v = v.replace('l','el')
# print(v)

# li = [11,22,33,44]
# li[0]
# li[0] = 999

# s = "alex"
# li[0]
# s[0] = "E"

# li = [11,22,33,44]
# print(li)
# print(li)
# print(li)
# print(li)
# print(li)
# print(li)
# print(li)
# print(li)
# 列表,有序;元素可以被修改

# 列表
# list
# li = [111,22,33,44]


####################################################################################################

# 元組,元素不可被修改,不能被增加或者刪除
# tuple
# tu = (11,22,33,44)
# tu.count(22),獲取指定元素在元組中出現的次數
# tu.index(22)

####################################### 深灰魔法 #######################################
# 1. 書寫格式
# tu = (111,"alex",(11,22),[(33,44)],True,33,44,)
# 一般寫元組的時候,推薦在最後加入 ,
# 元素不可被修改,不能被增加或者刪除
# 2. 索引
# v = tu[0]
# print(v)

# 3. 切片
# v = tu[0:2]
# print(v)

# 4. 可以被for迴圈,可迭代物件
# for item in tu:
#     print(item)

# 5. 轉換
# s = "asdfasdf0"
# li = ["asdf","asdfasdf"]
# tu = ("asdf","asdf")
#
# v = tuple(s)
# print(v)

# v = tuple(li)
# print(v)

# v = list(tu)
# print(v)

# v = "_".join(tu)
# print(v)

# li = ["asdf","asdfasdf"]
# li.extend((11,22,33,))
# print(li)

# 6.元組的一級元素不可修改/刪除/增加
# tu = (111,"alex",(11,22),[(33,44)],True,33,44,)
# # 元組,有序。
# # v = tu[3][0][0]
# # print(v)
# # v=tu[3]
# # print(v)
# tu[3][0] = 567
# print(tu)

####################################################################################################
# 字典
# dict
# dict
# dic = {
#     "k1": 'v1',
#     "k2": 'v2'
# }
# 1 根據序列,建立字典,並指定統一的值
# v = dict.fromkeys(["k1",123,"999"],123)
# print(v)

# 2 根據Key獲取值,key不存在時,可以指定預設值(None)
# v = dic['k11111']
# print(v)
# v = dic.get('k1',111111)
# print(v)

# 3 刪除並獲取值
# dic = {
#     "k1": 'v1',
#     "k2": 'v2'
# }
# v = dic.pop('k1',90)
# print(dic,v)
# k,v = dic.popitem()
# print(dic,k,v)

# 4 設定值,
# 已存在,不設定,獲取當前key對應的值
# 不存在,設定,獲取當前key對應的值
# dic = {
#     "k1": 'v1',
#     "k2": 'v2'
# }
# v = dic.setdefault('k1111','123')
# print(dic,v)

# 5 更新
# dic = {
#     "k1": 'v1',
#     "k2": 'v2'
# }
# dic.update({'k1': '111111','k3': 123})
# print(dic)
# dic.update(k1=123,k3=345,k5="asdf")
# print(dic)

# 6 keys()  7 values()   8 items()   get   update
##########



# 1、基本機構
# info = {
#     "k1": "v1", # 鍵值對
#     "k2": "v2"
# }
#### 2 字典的value可以是任何值
# info = {
#     "k1": 18,
#     "k2": True,
#     "k3": [
#         11,
#         [],
#         (),
#         22,
#         33,
#         {
#             'kk1': 'vv1',
#             'kk2': 'vv2',
#             'kk3': (11,22),
#         }
#     ],
#     "k4": (11,22,33,44)
# }
# print(info)

####  3 布林值(1,0)、列表、字典不能作為字典的key
# info ={
#     1: 'asdf',
#     "k1": 'asdf',
#     True: "123",
#     # [11,22]: 123
#     (11,22): 123,
#     # {'k1':'v1'}: 123
#
# }
# print(info)

# 4 字典無序

# info = {
#     "k1": 18,
#     "k2": True,
#     "k3": [
#         11,
#         [],
#         (),
#         22,
#         33,
#         {
#             'kk1': 'vv1',
#             'kk2': 'vv2',
#             'kk3': (11,22),
#         }
#     ],
#     "k4": (11,22,33,44)
# }
# print(info)

# 5、索引方式找到指定元素
# info = {
#     "k1": 18,
#     2: True,
#     "k3": [
#         11,
#         [],
#         (),
#         22,
#         33,
#         {
#             'kk1': 'vv1',
#             'kk2': 'vv2',
#             'kk3': (11,22),
#         }
#     ],
#     "k4": (11,22,33,44)
# }
# # v = info['k1']
# # print(v)
# # v = info[2]
# # print(v)
# v = info['k3'][5]['kk3'][0]
# print(v)

# 6 字典支援 del 刪除
# info = {
#     "k1": 18,
#     2: True,
#     "k3": [
#         11,
#         [],
#         (),
#         22,
#         33,
#         {
#             'kk1': 'vv1',
#             'kk2': 'vv2',
#             'kk3': (11,22),
#         }
#     ],
#     "k4": (11,22,33,44)
# }
# del info['k1']
#
# del info['k3'][5]['kk1']
# print(info)

# 7 for迴圈
# dict
# info = {
#     "k1": 18,
#     2: True,
#     "k3": [
#         11,
#         [],
#         (),
#         22,
#         33,
#         {
#             'kk1': 'vv1',
#             'kk2': 'vv2',
#             'kk3': (11,22),
#         }
#     ],
#     "k4": (11,22,33,44)
# }
# for item in info:
#     print(item)
#
# for item in info.keys():
#     print(item)

# for item in info.values():
#     print(item)

# for item in info.keys():
#     print(item,info[item])

# for k,v in info.items():
#     print(k,v)

# True 1  False 0
# info ={
#     "k1": 'asdf',
#     True: "123",
#     # [11,22]: 123
#     (11,22): 123,
#     # {'k1':' v1'}: 123
#
# }
# print(info)