3.20學習內容,字符串與列表

一、字符串類型:

作用:名字,性別,國籍,地址等描述信息

定義:在單引號\雙引號\三引號內,由一串字符組成。

需要掌握的方法:

1、strip  去除指定字符
lstrip 去除左邊指定字符
rstrip 去除右邊指定字符
print('**sss****'.lstrip('*'))
print('**sss****'.rstrip('*'))

2、lower 所有字符全部小寫
upper 所有字符全部大寫
print('Egon'.lower())
print('egon'.upper())

3、startswith 檢查是否以某字符開頭
endswith 檢查是否以某字符結尾
print('alex is sb'.startswith('alex'))
print('alex is sb'.endswith('sb'))


4、format的三種玩法 關鍵字參數可以代替格式化里的%s
第一種:{}
s1='my name is %s my age is %s' %('egon',18)
s2='my name is {} my age is {}'.format('egon',18)
s2='my name is {} my age is {}'.format('egon',18,19)
第二種
s2='my name is {0} my age is {1} {1} {1} {0} {1}'.format('egon',18,19)
print(s2)
第三種
s2='my name is {name} my age is {age}'.format(age=18,name='egon')
print(s2)

5、split 以指定字符字符切割為列表
rsplit 從右邊以指定字符切割
cmd='get|C:\a.txt|3333'
print(cmd.split('|',1))
print(cmd.rsplit('|',1))

6、join 使用指定字符將列表內的字符連接成一個字符串
cmd='egon:123:admin:rwx'
l=cmd.split(':')
res=''.join(l)
res=':'.join(l)
注意:':'.join([1,2,3]) # join方法傳入的列表必須只包含str類型的元素

7、replace 替換:將指定字符替換成另一個字符
msg='wupeiqi say my name is wupeiqi'
print(msg.replace('wupeiqi','SB'))
print(msg.replace('wupeiqi','SB',1))

8、isdigit 判斷是否為數字類型
print('10'.isdigit())
示例:
age=10
inp=input('>>: ').strip()
if inp.isdigit():
inp=int(inp)
if inp > age:
print('too big')
else:
print('輸入數據非法')

其他操作(了解即可)
1、find 查詢指定字符
rfind 從右查詢指定咨詢
index 檢測字符串中是否包含子字符串 str
rindex 從右檢測字符串中是否包含子字符串 str
count 用于統計字符串里某個字符出現的次數。可選參數為在字符串搜索的開始與結束位置。
msg='my egon hegon 123'
print(msg.find('sb'))
print(msg.find('egon'))
print(msg.find('egon',8,20))
print(msg.rfind('egon'))

print(msg.index('sb'))
print(msg.index('egon'))

2、center 返回一個原字符串居中,并使用空格填充至長度 width 的新字符串。默認填充字符為空格。
ljust 返回一個原字符串左對齊,并使用空格填充至指定長度的新字符串。如果指定的長度小于原字符串的長度則返回原字符串。
rjust 返回一個原字符串右對齊,并使用空格填充至指定長度的新字符串。如果指定的長度小于原字符串的長度則返回原字符串。
zfill 返回指定長度的字符串,原字符串右對齊,前面填充0
print('========================egon=======================')
print('egon'.center(50,'*'))
print('egon'.ljust(50,'*'))
print('egon'.rjust(50,'*'))
print('egon'.zfill(50))

3、expandtabs 將字符串中的 tab 符號('\t')轉為空格,tab 符號('\t')默認的空格數是 8。
msg='abc\tdef'
print(msg.expandtabs(3))

4、captalize 將字符串的第一個字母變成大寫,其他字母變小寫
swapcase 將字符串的大小寫字母進行轉換
title() 返回"標題化"的字符串,就是說所有單詞都是以大寫開始
print('abeCdEF'.capitalize())
print('abeCdEF'.swapcase())
print('my name is egon'.title())

5、is數字系列 總結最常用的是 .isdigit() 就足以滿足日常需求,如果有關錢的使用 .isnumeric() 命令。
num1=b'4' #bytes
num2=u'4' #unicode,python3中無需加u就是unicode
num3=u'肆' #中文數字
num4=u'Ⅳ' #羅馬數字

isdigit():bytes,unicode的阿拉伯數字
print(num1.isdigit())
print(num2.isdigit())
print(num3.isdigit())
print(num4.isdigit())

isdecimal():unicode的阿拉伯數字
print(num2.isdecimal())
print(num3.isdecimal())
print(num4.isdecimal())

isnumberic:unicode的阿拉伯數字\中文數字\羅馬數字
print(num2.isnumeric())
print(num3.isnumeric())
print(num4.isnumeric())

6、is其他
print('asdfasdfasdfaAsfd'.isalpha()) #字符全由字母組成

print('asdf'.isalnum()) #字符由字母或數字組成
print('I Am Egon'.isnumeric())
print(' '.isspace())
print('print'.isidentifier())



總結字符串類型:

1 存一個值
只能存一個值

2 有序or無序
有序

3 可變or不可變
!!!不可變:值變,id就變。不可變==可hash

列表類型

一:基本使用
1 用途:存放多個值

2 定義方式:[]內以逗號為分隔多個元素,列表內元素無類型限制
l=['a','b','c'] #l=list(['a','b','c'])
l1=list('hello')
print(l1)

3 常用操作+內置的方法
優先掌握的操作:
1、按索引存取值(正向存取+反向存取):即可改也可以取
l=['a','b','c']
print(id(l))
print(l[-1])
l[0]='A'
print(id(l))
print(l)
l[3]='d' # 報錯

2、切片(顧頭不顧尾,步長)
stus=['alex','egon','wxx','yxx','lxx']
print(stus[1:3])

3、長度
stus=['alex','egon','wxx','yxx','lxx']
print(len(stus))

4、成員運算in和not in
stus=['alex','egon','wxx','yxx','lxx']
print('alex' in stus)

5、追加
stus=['alex','egon','wxx','yxx','lxx']
stus.append('wupei')
stus.append('peiqi')
print(stus)
插入
stus=['alex','egon','wxx','yxx','lxx']
stus.insert(1,'艾利克斯')
print(stus)

6、刪除
stus=['alex','egon','wxx','yxx','lxx']
del stus[1]
print(stus)
stus.remove('alex')
print(stus)

stus.pop(1)
stus.pop() # 默認刪除末尾
print(stus)

res1=stus.remove('alex') # 單純的刪除
print(res1)
res2=stus.pop(0) # 取走一個值
print(res2)

7、循環
stus=['alex','egon','wxx','yxx','lxx']
依賴索引
i=0
while i < len(stus):
print(stus[i])
i+=1

for i in range(len(stus)):
print(i,stus[i])

不依賴索引
for item in stus:
print(item)


補充for循環
for i in range(0,5,2): #0 2 4
print(i)
for i in range(10):#默認從零起始
print(i)

for i in range(10,-2,-1):
print(i)


需要掌握的操作
stus=['alex','egon','alex','wxx','yxx','lxx']
print(len(stus)) # stus.__len__()

print(stus.count('alex'))
stus.extend(['a','b','c'])
print(stus)
stus.append(['a','b','c'])
print(stus)


print(stus.index('alex',1,5))

stus.reverse()
print(stus)

l=[1,10,3,12]
l.sort(reverse=True)
print(l)


大前提:只能同類型直接比較大小,對于有索引值直接的比較是按照位置一一對應進行比較的
s1='hello'
s2='hf'
print(s1 > s2)

l1=[3,'a','b','c']
l2=['xxx','d']
print(l1 > l2)


英文單詞大小定義:
print('Z' > 'a')
A-Za-z
print('a' > 'B')


?

轉載于:https://www.cnblogs.com/yangwei666/p/8611404.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/283831.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/283831.shtml
英文地址,請注明出處:http://en.pswp.cn/news/283831.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

客戶端應用試用限制設計

1.概要最近接到公司安排的任務給客戶端設計一個“試用30天”的一個需求&#xff0c;其功能主要是為了防止客戶拿到產品之后不支付尾款繼續使用。眾所周知靠純軟件想防“盜版”&#xff0c;“限制試用”等做法是行業難題。只要價值足夠高一定有人會破解繞過你的所有防線達到免費…

【開發工具之Spring Tool Suite】6、用Spring Tool Suite簡化你的開發

如果你是一個喜歡用spring的人&#xff0c;你可能會在欣賞spring的強大功能外&#xff0c;對其各樣的配置比較郁悶&#xff0c;尤其是相差較大的版本在配置文件方面會存在差異&#xff0c;當然你可以去花不少的時間去網上查找相關的資料&#xff0c;當你準備使用更高版本spring…

康威定律,作為架構師還不會靈活運用?

Soft skills are always hard than hard skills. 軟技能比硬技能難。 老板聽說最近流行“微服務”&#xff0c;問架構師咱們的系統要不要來一套&#xff1f;老板又聽說最近流行“中臺系統”&#xff0c;問架構師咱們要不要搞起來&#xff1f;其實&#xff0c;這些問題不用老板問…

使用onclick跳轉到其他頁面。使用button跳轉到指定url

1. οnclick"javascript:window.location.hrefaa.htm" 2. οnclick"locationURL"3,。 οnclick"window.location.href?id11"轉載于:https://www.cnblogs.com/wujixing/p/5856087.html

Avalonia Beta 1對WPF做了很多改進

\看新聞很累&#xff1f;看技術新聞更累&#xff1f;試試下載InfoQ手機客戶端&#xff0c;每天上下班路上聽新聞&#xff0c;有趣還有料&#xff01;\\\Avalonia將自己定義為“基于WPF&#xff08;使用XAML、數據綁定以及lookless控件等&#xff09;的跨平臺.NET UI框架。”在第…

WebView2 通過 PuppeteerSharp 實現RPA獲取壁紙 (案例版)

此案例是《.Net WebView2 項目&#xff0c;實現 嵌入 WEB 頁面 Chromium內核》文的續集。主要是針對WebView2的一些微軟自己封裝的不熟悉的API&#xff0c;有一些人已經對 PuppeteerSharp很熟悉了&#xff0c;那么&#xff0c;直接用 PuppeteerSharp的話&#xff0c;那就降低了…

[轉]2022 年 Java 行業分析報告

你好&#xff0c;我是看山。 前段時間介紹了從 Java8 到 Java17 每個版本比較有特點的新特性&#xff08;收錄在 從小工到專家的 Java 進階之旅 專欄&#xff09;&#xff0c;今天看到 JRebel 發布了《2022 年 Java 發展趨勢和分析》&#xff0c;于是借此分析一下 Java 行業的現…

Mysql 數據庫學習筆記03 存儲過程

一、存儲過程&#xff1a;如下 通過 out 、inout 將結果輸出&#xff0c;可以輸出多個值。 * 調用存儲過程&#xff1a; call 存儲名稱&#xff08;參數1&#xff0c;參數2&#xff0c;...&#xff09;; 如指定參數不符合要求&#xff0c;返回 Empty Set * 查詢存儲過…

android 代碼混淆模板

#指定代碼的壓縮級別 -optimizationpasses 5 #包明不混合大小寫 -dontusemixedcaseclassnames #不去忽略非公共的庫類 -dontskipnonpubliclibraryclasses#優化 不優化輸入的類文件 -dontoptimize#預校驗 -dontpreverify#混淆時是否記錄日志 -verbose# 混淆時所采用的算法 -opt…

vue+vuecli+webapck2實現多頁面應用

準備工作 在本地用vue-cli新建一個項目&#xff0c;首先安裝vue-cil&#xff0c;命令&#xff1a; npm install -g vue-cli 新建一個vue項目,創建一個基于"webpack"的項目,項目名為vuedemo&#xff1a; vue init webpack vuedemo 這里有一個地方需要改一下&#xff0…

一文把Docker、Kubernetes搞懂:什么是Docker?什么是Kubernetes?Docker和Kubernetes有什么關系和區別?通俗解釋Docker、Kubernetes

一、Docker解決的問題 1、統一標準 ● 應用構建 ○ Java、C、JavaScript——編程各異 ○ 打成軟件包 ○ .exe&#xff08;類似Windows&#xff0c;最終也只是生產exe執行&#xff09; ○ 使用docker build … 打包成 鏡像——這就類似于exe ● 應用分享 ○ 所有軟件的鏡像放到一…

Python-高階函數

#encodingUTF-8import sys # 高階函數高階函數實際上是參數可接受函數的函數即參數為函數的函數 # map()map()接收兩個參數&#xff0c;一個是函數&#xff0c;一個是序列&#xff0c;將此函數分別作用于該序列的每個元素&#xff0c;返回處理后的序列結果def c2(x): return x…

程序員雙手飛快敲鍵盤的時候是在敲代碼嗎?

當你看到一個程序員的兩只手在鍵盤上上下翻飛&#xff0c;行云流水的時候&#xff0c;多半不是在敲擊代碼大概率是在跟產品經理撕逼討論需求另一種可能就是在跟測試打口水仗10%幾率是在論壇碼字摸魚或者和人家開噴了。1%幾率是在跟MM聊天可以手速飛快而不需要停下思考的代碼&am…

erlang-17版本的編碼方式

最近在騰訊云租了個云主機&#xff1a;鏡像提供方&#xff1a;選擇服務市場 &#xff1a;多語言環境&#xff08;Centos 7.0 64位 Python Perl Ruby Erlang &#xff09; 他們集成軟件安裝的是erlang-17版本&#xff0c;我之前用erlang-16版本一直沒遇到什么問題&#xff1b; 這…

幾分鐘上線一個網站 真是神器

1、ToolJet 簡介 ToolJet 是一個開源的低代碼框架&#xff0c;可以快速構建和部署內部工具&#xff0c;而無需工程團隊付出太多努力。您可以連接到您的數據源&#xff0c;例如數據庫&#xff08;如 PostgreSQL、MongoDB、Elasticsearch 等&#xff09;、API 端點&#xff08;To…

翻譯:用戶變量(User-Defined Variable)(已提交到MariaDB官方手冊)

本文為mariadb官方手冊&#xff1a;User-Defined Variables的譯文。 原文&#xff1a;https://mariadb.com/kb/en/user-defined-variables/我提交到MariaDB官方手冊的譯文&#xff1a;https://mariadb.com/kb/zh-cn/user-defined-variables/ 用戶變量是指由用戶創建&#xff0…

移植Python3到TQ2440(一)

平臺 硬件&#xff1a;TQ2440 64MB內存 256MB NandFlashbootloader&#xff1a;U-Boot 2015.04kernel&#xff1a;linux-4.9Python: Python-3.6.0工具鏈&#xff1a;arm-none-linux-gnueabi-gcc 4.8.3概述 現在樹莓派很火&#xff0c;在樹莓派上面用戶可以通過Python來控制板…

WinForm(六)組合布局屬性

WinForm是基于控件的&#xff0c;不像codemark的架構&#xff0c;可以非常靈活的用mark來布局&#xff0c;它只能用控件布局屬性和窗口控件來完成對UI的布局。容器控件有一組控件叫容器控件&#xff0c;對布局特別有作用&#xff0c;它們分別是&#xff1a;TableLayoutPanel&am…

Qt 網絡編程

QT 網絡編程 TCP 編程 模塊引入 QT network 頭文件 #include <QTcpServer> // TCP服務器端使用 #include <QTcpSocket> // TCP服務器和客戶端都使用 編程流程 服務端 1&#xff09;實例化 QTcpServer 對象 -----------------------------> socket 2&#x…

HDU 5037 Frog(2014年北京網絡賽 F 貪心)

開始就覺得有思路&#xff0c;結果越敲越麻煩。。。   題意很簡單&#xff0c;就是說一個青蛙從0點跳到m點&#xff0c;最多可以跳l的長度&#xff0c;原有石頭n個&#xff08;都僅表示一個點&#xff09;。但是可能跳不過去&#xff0c;所以你是上帝&#xff0c;可以隨便在哪…