溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

python中字符串,列表,字典,元組常規(guī)操作有哪些

發(fā)布時間:2021-10-18 15:51:00 來源:億速云 閱讀:111 作者:小新 欄目:編程語言

這篇文章主要為大家展示了“python中字符串,列表,字典,元組常規(guī)操作有哪些”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習一下“python中字符串,列表,字典,元組常規(guī)操作有哪些”這篇文章吧。

循環(huán)求和

1+2+3+4+5=15

count = 1
sum = 0

while count <= 5:
    print(count)
    sum = sum + count
    count = count + 1

print(sum)

結(jié)果:
1
2
3
4
5
15

求奇數(shù)

count =1
while count <= 10:

    if  count % 2 != 0:
        print(count)

    count = count +1

結(jié)果:
1
3
5
7
9

階乘

  1. 階乘

    print(2**3)

    結(jié)果:
    8

    取整除

  2. 取整除

    print(8//2.4)

    結(jié)果:
    3

    取余

  3. 取余

    print(9%4)

    結(jié)果:
    1

    二進制長度

    a = 5
    print(a.bit_length())

    結(jié)果:
    3

字符串切片

#索引從0開始  語法:s[起始位置:結(jié)束位置:步長]
s1 = 'python最牛B'
#獲取指定位置單字符串
print(s1[2])

結(jié)果:
t

#倒數(shù)獲取指定位置單字符串
print(s1[-2])

結(jié)果:

#開頭到指定位置
print(s1[:3])

結(jié)果:
pyt

#指定位置至尾
print(s1[4:])

結(jié)果:
on最牛B

#指定位置
print(s1[3:-2])

結(jié)果:
hon最

#設(shè)置步長
print(s1[::3])

結(jié)果:
ph最

#設(shè)置步長截取
print(s1[1:-1:2])

結(jié)果:
yhn牛

#字符串反轉(zhuǎn)
print(s1[::-1])

結(jié)果:
B牛最nohtyp

#反向截取
print(s1[6::-2])

結(jié)果:
最otp

字符串常用方法

  1. 字符串轉(zhuǎn)換

    #首字母大寫
    str = 'process finished with exit code 0'
    print(str.capitalize())

    結(jié)果:
    Process finished with exit code 0

    #首字母小寫
    str = 'Process finished with exit code 0'
    print(str.casefold())

    結(jié)果:
    process finished with exit code 0

    #字母全大寫
    str = 'process finished with exit code 0'
    print(str.upper())

    結(jié)果:
    PROCESS FINISHED WITH EXIT CODE 0

    #字母全小寫
    str = 'PROCESS FINISHED WITH EXIT CODE 0'
    print(str.lower())

    結(jié)果:
    process finished with exit code 0

    #字母大小寫翻轉(zhuǎn)
    str = 'PROCESS finished WITH exit CODE 0'
    print(str.swapcase())

    結(jié)果:
    process FINISHED with EXIT code 0

  2. 字符串操作

#特殊字符隔開的首字母大寫
str = 'pro哥梵蒂岡cess finished with exit code 0'
print(str.title())

結(jié)果:
Pro哥梵蒂岡Cess Finished With Exit Code 0

#指定字符填充居中
str = '茍富貴'
print(str.center(9,'#'))

結(jié)果:
###茍富貴###

#去除左右兩邊指定字符
str1 = '  李白  '
str2 = 'Q李Q白Q'
print(str1.strip())
print(str2.strip('Q'))

結(jié)果:
李白
李Q白

#指定字符串插入
s = '_'
s1 = s.join('大鵬展翅')
s2 = s.join(['大鵬展翅','天道酬勤','前程似錦'])
print(s1)
print(s2)

結(jié)果:
大_鵬_展_翅
大鵬展翅_天道酬勤_前程似錦

#字符串替換
str1 = 'Process finished with exit code 0'
print(str1.replace('finished','替換了'))
print(str1.replace(' ',''))     #去除空格
print(str1.replace('i','+++',2))    #替換個數(shù)

結(jié)果:
Process 替換了 with exit code 0
Processfinishedwithexitcode0
Process f+++n+++shed with exit code 0

#字符串轉(zhuǎn)換列表
str1 = 'Process finished with exit code 0'
str2 = 'Process,finished,with,exit,code,0'
str3 = 'Process,finished,with,exit,code,0,Process'
print(str1.split()) #默認按空格分割
print(str2.split()) #直接轉(zhuǎn)換
print(str2.split(','))  #按指定字符分割
print(str3.split('Process'))  #切割符左右無時會出現(xiàn)空列表

結(jié)果:
['Process', 'finished', 'with', 'exit', 'code', '0']
['Process,finished,with,exit,code,0']
['Process', 'finished', 'with', 'exit', 'code', '0']
['', ',finished,with,exit,code,0,', '']

#格式化輸出1
name = input('name:')
age = input('age:')
job = input('job:')

str = "name:%s\nage:%s\njob:%s" %(name,age,job)
print(str)

結(jié)果:
name:李白
age:男
job:300

#格式化輸出2
str1 = '我叫{},今年{}歲,我喜歡{}'.format('李白',300,'唐朝')
str2 = '我叫{0},今年{2}歲,我喜歡{1}'.format('李白','唐朝',300)  #按索引對應(yīng)
str3 = '我叫{name},今年{age}歲,我喜歡{like}'.format(name='李白',age=300,like='唐朝')    #按關(guān)鍵字對應(yīng)
print(str1)
print(str2)
print(str3)

結(jié)果:
我叫李白,今年300歲,我喜歡唐朝
我叫李白,今年300歲,我喜歡唐朝
我叫李白,今年300歲,我喜歡唐朝

#判斷字符串是否開頭或結(jié)尾存在某些字符
str1 = '我叫李白,今年300歲,我喜歡唐朝'
print(str1.startswith('我叫')) #判斷字符串是否以某些字符開頭
print(str1.endswith('唐朝')) #判斷字符串是否以某些字符結(jié)尾

結(jié)果:
True
True

#字符在字符串中出現(xiàn)次數(shù)
str1 = '我叫李白,今年300歲,我喜歡唐朝,我很帥'
print(str1.count('我'))

結(jié)果:
3

#字符在字符串中首次出現(xiàn)的位置,從0開始,沒有找到返回:-1
str1 = '我叫李白,今年300歲,我喜歡唐朝,我很帥'
print(str1.find('年'))
print(str1.find('我'))   #首次出現(xiàn)的位置
print(str1.find('我',13))    #指定位置開始找
print(str1.find('ke'))  #沒有找到返回-1
print(str1.index('ke'))  #查找出現(xiàn)字符的索引,沒有找到直接報錯

結(jié)果:
6
0
18
-1

  1. 字符串判斷

    str1 = 'wert_123'
    str2 = '123'
    str2_1 = '123.7'
    str2_2 = '壹仟136萬'
    str3 = '發(fā)順豐123'
    str4 = '發(fā)順豐'
    str5 = '發(fā)順豐_'
    #是否數(shù)字,不包含小數(shù)
    print(str1.isdigit())
    print(str2.isdigit())
    print(str2_1.isdigit())
    print(str2_2.isnumeric())

    結(jié)果:
    False
    True
    False
    True

    #是否純字符,不包含數(shù)字,符號
    print(str3.isalpha())
    print(str4.isalpha())
    print(str5.isalpha())

    結(jié)果:
    False
    True
    False

    #是否純字符或數(shù)字,不包含符號
    print(str3.isalnum())
    print(str4.isalnum())
    print(str5.isalnum())

    結(jié)果:
    True
    True
    False

  2. 遍歷字符串

#while方式
str1 = 'Google'
count = 0

while count < len(str1):
    print(str1[count])
    count = count +1
else:
    print('完成')

#for方式      
for c in str1:
    print(c)
else:
    print('完成')

結(jié)果:
G
o
o
g
l
e
完成

列表

  1. 列表增加

    lst = ["周星馳", "王力宏", "周潤發(fā)"]
    lst.append("伍佰")    # 向列表中添加一個元素, 元素放在末尾. 把一個元素追加到列表的末尾
    print(lst)
    lst.insert(1, "馬化騰")    # 把元素插入到指定位置. 元素的移動
    print(lst)
    print(lst+['王石','李白'])  # 迭代添加
    lst.extend(["李嘉誠","馬云", "王健林"])    # 迭代添加
    print(lst)

    結(jié)果:
    ['周星馳', '王力宏', '周潤發(fā)', '伍佰']
    ['周星馳', '馬化騰', '王力宏', '周潤發(fā)', '伍佰']
    ['周星馳', '馬化騰', '王力宏', '周潤發(fā)', '伍佰', '王石', '李白']
    ['周星馳', '馬化騰', '王力宏', '周潤發(fā)', '伍佰', '李嘉誠', '馬云', '王健林']

  2. 刪除

    lst = ['周星馳', '馬化騰', '王力宏', '周潤發(fā)', '伍佰', '李嘉誠', '馬云', '王健林']
    #根據(jù)索引刪除
    e = lst.pop()   # 返回刪除的元素, 刪除最后一個
    print(e)
    print(lst)
    lst.pop(1)  # 根據(jù)給出的索引進行刪除
    print(lst)

    結(jié)果:
    王健林
    ['周星馳', '馬化騰', '王力宏', '周潤發(fā)', '伍佰', '李嘉誠', '馬云']
    ['周星馳', '王力宏', '周潤發(fā)', '伍佰', '李嘉誠', '馬云']

    #刪除沒有的元素會報錯
    lst.remove("伍佰")
    print(lst)

    結(jié)果:
    ['周星馳', '馬化騰', '王力宏', '周潤發(fā)', '李嘉誠', '馬云', '王健林']

#切片刪除
del lst[1:-2]
print(lst)

結(jié)果:
['周星馳', '馬云', '王健林']

#清空,空列表不能直接判斷布爾類型
lst.clear()
print(lst)
lst = ['周星馳', '馬化騰', '王力宏']
lst = []
print(lst)

結(jié)果:
[]
[]

  1. 修改

    lst = ['周星馳', '馬化騰', '王力宏', '周潤發(fā)', '伍佰', '李嘉誠', '馬云', '王健林']
    lst[2] = '王尼瑪'
    print(lst)
    lst[1:3] = "馬化騰"    # 迭代修改
    print(lst)
    lst = ['周星馳', '馬化騰', '王力宏', '周潤發(fā)', '伍佰', '李嘉誠', '馬云', '王健林']
    lst[1:3] = ["周杰", "黃渤", "劉德華"]   # 迭代修改
    print(lst)

    結(jié)果:
    ['周星馳', '馬化騰', '王尼瑪', '周潤發(fā)', '伍佰', '李嘉誠', '馬云', '王健林']
    ['周星馳', '馬', '化', '騰', '周潤發(fā)', '伍佰', '李嘉誠', '馬云', '王健林']
    ['周星馳', '周杰', '黃渤', '劉德華', '周潤發(fā)', '伍佰', '李嘉誠', '馬云', '王健林']

  2. 排序

    lst = [1,40,100,19,15]
    lst.sort()  #升序
    print(lst)
    lst.sort(reverse=True)  #降序
    print(lst)

    結(jié)果:
    [1, 15, 19, 40, 100]
    [100, 40, 19, 15, 1]

    元組

    tu1 = ["周杰", "黃渤", "劉德華"]
    tu2 = ("周杰", "黃渤", "劉德華")
    tu3 = ("周杰")
    tu4 = ("周杰",)
    tu5 = tuple("周杰")
    print(type(tu1))    #列表
    print(type(tu2))    #元祖
    print(type(tu3))    #不是元祖
    print(type(tu4))
    print(type(tu5))

    結(jié)果:
    <class 'list'>
    <class 'tuple'>
    <class 'str'>
    <class 'tuple'>
    <class 'tuple'>

    #修改元祖里面的列表
    tu = (1,'李白',['王尼瑪','馬云'])
    tu[2].append('王健林')
    print(tu)

    結(jié)果:
    (1, '李白', ['王尼瑪', '馬云', '王健林'])

字典

  1. 增加,賦值

    dic = {1:'李白',('黃渤','王健林'):'馬云','key':'value'}  #字典形式
    dic.setdefault('key1','新增key1')
    print(dic)
    dic['key2'] = '新增key2'
    print(dic)
    res = dic.setdefault('key','賦值如何')  #已有鍵名,不起作用,返回已存在的key的值
    print(res)
    print(dic)
    dic['key'] = '賦值起作用了'
    print(dic)
    dic.setdefault('key3')  #增加key等于None
    print(dic)

    結(jié)果:
    {1: '李白', ('黃渤', '王健林'): '馬云', 'key': 'value', 'key1': '新增key1'}
    {1: '李白', ('黃渤', '王健林'): '馬云', 'key': 'value', 'key1': '新增key1', 'key2': '新增key2'}
    value
    {1: '李白', ('黃渤', '王健林'): '馬云', 'key': 'value', 'key1': '新增key1', 'key2': '新增key2'}
    {1: '李白', ('黃渤', '王健林'): '馬云', 'key': '賦值起作用了', 'key1': '新增key1', 'key2': '新增key2'}
    {1: '李白', ('黃渤', '王健林'): '馬云', 'key': '賦值起作用了', 'key1': '新增key1', 'key2': '新增key2', 'key3': None}

  2. 刪除

    res = dic.pop('key')
    print(res)
    print(dic)
    del dic[1]
    print(dic)

    結(jié)果:
    value
    {1: '李白', ('黃渤', '王健林'): '馬云'}
    {('黃渤', '王健林'): '馬云'}

    #隨機刪除
    res = dic.popitem()
    print(res)
    print(dic)

    結(jié)果:
    ('key', 'value')
    {1: '李白', ('黃渤', '王健林'): '馬云'}

    #清空
    dic.clear()
    print(dic)
    dic = {}
    print(dic)

    結(jié)果:
    {}
    {}

  3. 修改

    dic[1] = '杜甫'
    print(dic)
    dic1 = {1:'李清照','age':200}
    dic.update(dic1)    #把dic1更新到dic中,如果key存在,則替換,否則增加
    print(dic)

    結(jié)果:
    {1: '杜甫', ('黃渤', '王健林'): '馬云', 'key': 'value'}
    {1: '李清照', ('黃渤', '王健林'): '馬云', 'key': 'value', 'age': 200}

  4. 查詢,獲取

    print(dic[1])
    print(dic.setdefault(1))
    # print(dic['name'])  #字典沒有該key報錯
    print(dic.get(1))
    print(dic.get('name'))  #字典不存在key,返回:None
    print(dic.get('name','周潤發(fā)'))    #設(shè)置字典不存在key時的返回值

    結(jié)果:
    李白
    李白
    李白
    None
    周潤發(fā)

    #字典常用操作
    dic = {1: '李白', ('黃渤', '王健林'): '馬云', '及時雨': '宋江', '玉麒麟': '盧俊義','維恩':'暗隱獵手'}
    print(dic.keys())   #返回所有key列表
    print(dic.values()) #返回所有value列表
    print(dic.items())  #返回鍵值對的元組列表

    結(jié)果:
    dict_keys([1, ('黃渤', '王健林'), '及時雨', '玉麒麟', '維恩'])
    dict_values(['李白', '馬云', '宋江', '盧俊義', '暗隱獵手'])
    dict_items([(1, '李白'), (('黃渤', '王健林'), '馬云'), ('及時雨', '宋江'), ('玉麒麟', '盧俊義'), ('維恩', '暗隱獵手')])

  5. 遍歷
    5.1 items 遍歷

    dic = {1: '李白', ('黃渤', '王健林'): '馬云', '及時雨': '宋江', '玉麒麟': '盧俊義','維恩':'暗隱獵手'}
    for k,v in dic.items():
        print(k,v)

    結(jié)果:
    1 李白
    ('黃渤', '王健林') 馬云
    及時雨 宋江
    玉麒麟 盧俊義
    維恩 暗隱獵手

  6. 靜態(tài)方法

    # 字典靜態(tài)方法,返回一個新的字典,并且指定value
    dic = {"a":"123", "b":"456"}
    lst = ['cc', 'dd', 'gg']
    str = '可口可樂'
    a = dict.fromkeys(dic, "sb")
    b = dict.fromkeys(lst, "sb")
    c = dict.fromkeys(lst)
    d = dict.fromkeys(str,"sb")
    print(dict)
    print(a)
    print(b)
    print(c)
    print(d)

    結(jié)果:
    <class 'dict'>
    {'a': 'sb', 'b': 'sb'}
    {'cc': 'sb', 'dd': 'sb', 'gg': 'sb'}
    {'cc': None, 'dd': None, 'gg': None}
    {'可': 'sb', '口': 'sb', '樂': 'sb'}

    集合

  7. 集合

    # 可哈希的,不可變
    s = frozenset([1, 3, 6, 6, 9, 8])   # 可以去重復(fù). 也是set集合
    print(s)
    ss = {"a", s}
    print(ss)

    結(jié)果:
    frozenset({1, 3, 6, 8, 9})
    {'a', frozenset({1, 3, 6, 8, 9})}

lst = ["張強", "李強", "王磊", "劉偉", "張偉", "張偉", "劉洋", "劉洋"]
s = set(lst)    # 去重復(fù)
print(s)    #集合
print(list(s))  #轉(zhuǎn)換列表
print(tuple(s))  #轉(zhuǎn)換元組

結(jié)果:
{'張偉', '劉偉', '王磊', '李強', '劉洋', '張強'}
['張偉', '劉偉', '王磊', '李強', '劉洋', '張強']
('張偉', '劉偉', '王磊', '李強', '劉洋', '張強')

解構(gòu),解包

  1. 元組

    a = 1,2 #元組定義
    print(a)
    a,b = (1,2) #對應(yīng)賦值變量
    print(a)
    print(b)

    結(jié)果:
    (1, 2)
    1
    2

  2. 列表

    a,b = [1,2]
    print(a)
    print(b)

    結(jié)果:
    1
    2

  3. 類型轉(zhuǎn)換

    tup = ('cc', 'dd', 'gg')
    lst = ['cc', 'dd', 'gg']
    str = '_'
    str1 = 'cc_dd_gg'
    print(list(tup))    #元組轉(zhuǎn)列表
    print(tuple(lst))   #列表轉(zhuǎn)元組
    print(str.join(lst)) #字符串分割列表,返回字符串
    print(str.join(tuple(lst))) #字符串分割元組,返回字符串
    print(str1.split('_')) #字符串分割字符串,返回列表

    結(jié)果:
    ['cc', 'dd', 'gg']
    ('cc', 'dd', 'gg')
    cc_dd_gg
    cc_dd_gg
    ['cc', 'dd', 'gg']

  4. 隱形為False的參數(shù):0,'',None,[],(),{},set()

lst = [0,'',None,[],(),{},set()]
for el in lst:
    if el or 0:
        print(True)
else:
    print(False)

結(jié)果:
False

以上是“python中字符串,列表,字典,元組常規(guī)操作有哪些”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI