1. 程式人生 > >python基礎知識之列表、元祖、字典/字符串。

python基礎知識之列表、元祖、字典/字符串。

case 文字 cas star 索引 常見 ali num nta

基礎知識之列表:

列表用 [ ]來定義是可變的,可以通過索引值來去查詢裏面的字段可以可以追加,刪除。

常用用法如下

names = [‘zhang‘, ‘zhuang‘, [‘alx‘, ‘bob‘], ‘chen‘, ‘qiang‘]
print(len(names))  # 獲取列表長度
print("aaffaa".count("a"))  # 獲取a在字符串出現的次數
print(names[1:3])  # 切片
print(names[-1])  # 獲取最後一個元素
print(names[-2:])  #  
names.append(‘qianqq‘) #追加模式
names.insert(1, ‘chengrouhua‘)  # 插入
names.insert(3, "xinzhiyu")
names[2] = "ixnixn"  # 修改
names.remove("qiang")
# del names[0]
# names.pop(0)  刪除元素 並返回刪除的元素的值
del names[2:4]  # 切片刪除
for i in names:
    print(i)  # 循環遍歷列表
for i in range(1, 10, 2):
    print(i)   #每隔2位數打印
print(names[::2])  # 隔行篩選
print(‘zhuang‘ in names) #判斷字段是否在列表裏
names2 = names.copy() #淺淺的copy
print(dir(names))  #獲取列表所支持的方法
# #分割
# s = ‘hello world‘
# s.split(‘ ‘)
# [‘hello‘, ‘world‘]
# s2= ‘hello,world‘
# s2.split(‘,‘)
# 
# #連接
# l = [‘hi‘,‘eva‘]
# ‘!‘.join(l)
# ‘hi!eva‘

 

2.元祖,是一種不可 變得列表形式,一旦定義則不可以改變,一般用於數據庫的連接,綁定 IP跟端口使用。

元祖特性:

1.不可變,定義元祖 的時候如果只有一個元素這樣必須在元祖後面加逗號加以區分。註:元祖內部如果有列表等可變元素則可以修改

2.只有查詢功能。通過索引值查詢內部數據。

3.字典:通過key:value 的形式來定義入{k1:v1} 這種形式來創建,是可變的數據類型

字典可以增刪改查方法如下:

info={
#         ‘stu1101‘:"wu  teng  lang",
#         ‘stu1102‘:"cang",
#         ‘stu1103‘:"xiaoze",
#         ‘stu1104‘:"bo jie"
#         }
# 
# b={1:2,3:4}
# #
# # print(info[‘stu1101‘])   #查看字典stu1101 的鍵對應的value
# # info[‘stu1101‘]=‘mmmmm‘   #如果字典有這個key值則修改,沒有則添加
# # info[‘stu1105‘]=‘sssss‘
# # info.setdefault(‘stu1101‘,‘alxe‘)   #如果key的值 在字典裏則修改,沒有則添加
# # info.update(b)# 在info字典後面追加B字典的字段,如果重復的更新跟字段。
# # print(info)
# # info.pop(‘stu1105‘)  #通過key的值來刪除字典的對應的值 pop方法有返回值,返回刪除元素的value值
# #
# # print(info.get(‘stu1106‘)) # 這是一種通過key來獲取值得方式這樣不會報錯,沒有則返回None
# # print(‘stu1104‘  in  info)  #判斷key的值在不在字典中 通過key的值來判斷 。
# # print(info.keys())#返回所有的key  #打印所有字典key的 值
# # print(info.values())#返回字典所有的value值
# # print(info.items())# 返回元祖  把key跟value 組成元祖
# # for k  in  info:#   k是info 的key   遍歷字典key的值打印
# #     print(k,info[k])

 集合:一個或者 多個元素構成的整體叫做集合

集合的特性:

1.天然去重

2.集合內部元素是無序的

3.通過運算可以取出兩個集合的符合條件的元素類型組成一個新的集合

常見的集合運算如下:

b={1,2,3,4,5,5,5,6}  #互異性天然去重的原則
# c={2,3,4,8,9,10,56,45}
# info={
#     ‘stu1101‘:"wu  teng  lang",
#     ‘stu1102‘:"cang",
#     ‘stu1103‘:"xiaoze",
#     ‘stu1104‘:"bo jie"
#     }
# 
# #print(b-c)  #意思就是拿b中的每一個元素去減c中的元素,得到不同的一個集合。
# # print(b|c)  #並集兩個集合的合並
# # print(b^c)  #兩個集合中不是共同部分的元素取出來
# # d=set(info)  #設置集合  字典是key的值
# # print(d)
# # b.add(90)  #增加元素
# # b.remove(90) #刪除元素 如果沒有元素則報錯
# # b.discard(4) #刪除元素  沒有則不報錯
# # print(b)
# 
# # b.pop()  #刪除元素(任意)
# # print(b)

 字符的一些操作姿勢如下

# name=‘aaalcx lill‘
# print(name.index("l"))
# print(name.count("l"))#  統計字符串某個字符串的數量
# print(name.capitalize())#首字母大寫
# print(name.center(50,‘*‘))#把name放在中間 50 個字符
# print(name.replace(‘l‘,‘L‘,4))#代替  三個參數
# print("123".isdigit())#判斷是否是整數
# print("aaaooolll".endswith(‘ll‘))
# msg = "my name is {}, and age is {}"
# print(msg.partition(‘is‘))#is 中間分成元祖
# print(msg.format("zj","25"))


# name.join("cx")
# print(name.join("cxb"))#  對數字進行操作

‘‘‘

name=‘abcd lill‘
name1="abc \tlill"
# name.strip()#變成字符串
# name.title()#變成標題
# print(name.rsplit())
print(name.capitalize())#首字母大寫
print(name.count("a"))#  統計字符
print(name.center(50,"*"))#一共 打印50字符 不夠用*補上,把name放中間
print(name.endswith("ll"))# 判斷字符串結尾
print(name1.expandtabs(30))

print(name.find("li"))#  查找 索引!字符串可以切片
name3="my  name  is {name} and age is {age}"
print(name3.format(name="alix",age="22"))
print(name3.format_map({"name":"alex","age":"29"}))
print(name3.index("y"))
print(name.isalnum())#  是不是阿拉伯數字
print(name.isalpha())#判斷純粹的英文字符
print(name.isdecimal())#判斷十進制
print(name.isdigit())# 判斷是否整數
print(name.isidentifier())#判斷是不是合法的標識符(變量名)
print(name.islower())# 判斷是小寫!
print(name.isnumeric())#判斷是否是數字!!僅僅是數字 返回True
print(name.isspace())
print(name.istitle())
print(name.isprintable())#  是否可打印!在tty文件設備終端文件
print(name.isupper())# 全是大寫
print("*****")
print("|".join(["1","2","3","4"])) # 列表 裏面的字符串  變成 字符串
print("*****")
print(name.ljust(50,"-"))#  後面 補足*
print(name.rjust(50,‘-‘))
print(name.lower())# 大寫變成小寫
print(name.upper())

print("\nAlex\n".lstrip())#左邊去空格或者回車
print("\nAlex\n".rstrip())#右邊邊去空格或者回車
print(name.strip())#兩邊都去空格

print("funny keys\n")
v=str.maketrans("abcdef","123456") # 數字對應!

print("Alex li".translate(v))



print("alex l".replace(‘l‘,‘L‘,1))
print("alex li".rfind("l"))#找到最右邊的的l 並返回

print(name.split())  # 安照 空格 分成列表
print(name.split(‘a‘))  # 安照 a 分成列表
print(name.splitlines()) # 按照換行  分 linux  window
print(name.startswith(‘a‘))
print(name.swapcase()) #大小寫轉換
print(name.title())#  變標題
print("alex  li ".zfill(50))#  50 個不夠在前面補0


‘‘‘
print("  name aaa   ".split())
name=‘aa aaaa‘
print(name.isalpha())  # 判斷是不是字母!
print(len(‘你好‘.encode()))

  

python基礎知識之列表、元祖、字典/字符串。