列表、元組、字典

1、

# -*- coding: utf-8 -*-

# list是一個類,列表
# 通過list類創建的對象 li
li = [1, 520, "age", '中國', 'name']
classmates = ['Michael', 'Bob', 'Tracy']
# 第一:接下來就是怎麼樣總結寫那個列表的特徵
# 第二:利用中括號包起來的
# 第三:,利用這個來分割每一個元素
# 第四:列表中的元素可是是數字、字母、字符串、列表、所有都可以放進去
# 第五:print("輸出全部的值%s" % li)


# 索引取值
# 用索引來訪問list中每一個位置的元素,記得索引是從0開始的:
# print("輸出第二值%s" % li[1])
# 當索引超出了範圍時,Python會報一個IndexError錯誤,
# 所以,要確保索引不要越界,記得最後一個元素的索引是len(classmates) - 1。
# 如果要取最後一個元素,除了計算索引位置外,還可以用-1做索引,直接獲取最後一個元素:
# print(li[-1])
# 以此類推,可以獲取倒數第2個、倒數第3個:
# print(li[-2])
# print(li[-3])


# 切片取值
# print(li[1:2])
# 修改值

# print(li)
# print("+++++++++++++++++++++++++++++")
# # li.insert(1, '123')
# li[1:3] = [520, 1314]
# print(li)


# 查詢列表的值也可以通過循環進行編列
# for item in li:
#     print(item)


# 變量classmates或者li就是一個list。用len()函數可以獲得list元素的個數
# print(len(li))
# print(len(classmates))

# 也可以把元素插入到指定的位置,比如索引號爲1的位置:  這裏就是指定你想要的位置
# classmates.insert(1, 'Jack')
# print(classmates)
# 你也可以使用append()方法來添加列表項 這個是必須增加到最後面的
# li.append("python")
# print(li)


# 要刪除list末尾的元素,用pop()方法:
# li.pop()
# print(li)


# 要刪除指定位置的元素,用pop(i)方法,其中i是索引位置:
# classmates.pop(-1)
# print(classmates)
# del li[4]
# print(li)


# 要把某個元素替換成別的元素,可以直接賦值給對應的索引位置:
# classmates[1] = 'Sarah'
# print(classmates)

# list元素也可以是另一個list,
# s = ['python', 'java', ['asp', 'php'], 'scheme']
# print(len(s))
# print(s)


# # 要注意s只有4個元素,其中s[2]又是一個list,如果拆開寫就更容易理解了:
# p = ['asp', 'php']
# s = ['python', 'java', p, 'scheme']


# 要拿到'php'可以寫p[1]或者s[2][1],因此s可以看成是一個二維數組,
# 類似的還有三維、四維……數組,不過很少用到。
#
# 如果一個list中一個元素也沒有,就是一個空的list,它的長度爲0:


# 還有這次in的操作
# li = [1, 520, "age", '中國', 'name']
# v = 520 in li
# print(v)


# 接下來怎麼樣把字符串轉換成爲列表
# list("hafsdhwdjfh") 內部直接使用了for循環

# s = "sdjhfhsdjfhsjkdhf"
# new_list = list(s)
# print(new_list)


# 接下來怎麼樣把列表轉換成爲字符串
# 條件:列表裏面有數字與字符串,需要自己寫for循環進行處理

# li = [11, 22, 33, "dhfh", "list", "name"]
# s = ""
# for i in li:
#     s = s + str(i)
#
# print(s)

# 條件2:如果列表裏面只有字符串的情況下,可以直接利用函數join進行調用拼接起來
# li = ["dhfh", "list", "name"]
# v = "".join(li)
# print(v)

# 還有自己調用列表的函數也可以進行操作,
# 就是原來的值,就是字符串的值不可以改變,列表的值可以改變

lia = ["dhfh","list","name", "aaaa"]
# lia.append("aa")
# print(lia)

# 清空列表
# lia.clear()
# print(lia)


# 3拷貝 copy()
# co = lia.copy()
# print(co)

接下來開始寫元組的代碼

其實元組就是對列表加工改造而來的

 

 

Python的元組與列表類似,不同之處在於元組的元素不能修改。

元組使用小括號,列表使用方括號。

元組創建很簡單,只需要在括號中添加元素,並使用逗號隔開即可。

元組中只包含一個元素時,需要在元素後面添加逗號

tup1 = (50,);

元組與字符串類似,下標索引從0開始,可以進行截取,組合等。

 

現在,classmates這個tuple不能變了,它也沒有append(),insert()這樣的方法。其他獲取元素的方法和list是一樣的,你可以正常地使用classmates[0]classmates[-1],但不能賦值成另外的元素。

 

不可變的tuple有什麼意義?因爲tuple不可變,所以代碼更安全。如果可能,能用tuple代替list就儘量用tuple。

# encoding=utf-8

# 列表 list
li = ["aa", 11, 520]

# 元組
# 元素不能修改,不能被增加或者刪除
tup1 = (12, 34, 56)
# tup2 = ('abc', 'xyz', 520)
# L = ('spam', 'Spam', 'SPAM!')
s = "sdjhfhsdjfhsjkdhf"

# 元組的操作的功能
# 索引
# v = tup1[0]
# print(v)

# 計算元組的個數
# print(len(L))

# 返回元組最大的元素
# print(max(tup1))

# 怎麼樣將列表轉化成爲元組
# print(tuple(li))

# 怎麼樣將元組轉化爲列表
# print(list(L))

# 怎麼樣將字符串轉換成爲元組
# v = tuple(s)
# print(v)

# 怎麼樣將元組轉換成爲字符串
# 兩種情況吧
# 第一種有數字與字符串的情況下  利用for循環進行迭代
# tup2 = ('abc', 'xyz', 520)
# s = ""
# for t in tup2:
#     s = s + str(t)
#
# print(s)

# 第二種情況就是都是字符串的情況下就可以直接利用join函數
# L = ('spam', 'Spam', 'SPAM!')
# v = "".join(L)
# print(v)










 

字典

字典是另一種可變容器模型,且可存儲任意類型對象。

字典的每個鍵值(key=>value)對用冒號(:)分割,每個對之間用逗號(,)分割,整個字典包括在花括號({})中 ,格式如下所示:

Python內置了字典:dict的支持,dict全稱dictionary,在其他語言中也稱爲map,使用鍵-值(key-value)存儲,具有極快的查找速度。

舉個例子,假設要根據同學的名字查找對應的成績,如果用list實現,需要兩個list:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章