日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > python >内容正文

python

python定义字典列表_Python基础语法(四)—列表、元组、字典、集合、字符串

發(fā)布時間:2025/3/15 python 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python定义字典列表_Python基础语法(四)—列表、元组、字典、集合、字符串 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

列表

基本概念列表是有序的元素集合,所有元素放在一對中括號中,用逗號隔開,沒有長度限制;

列表索引值以0為開始值,-1為從未尾的開始位置。

列表可以使用+操作符進(jìn)行拼接,使用*表示重復(fù)。

當(dāng)列表元素增加或刪除時,列表對象自動進(jìn)行擴(kuò)展或收縮內(nèi)存,保證元素之間沒有縫隙;

列表中的元素可以是不同類型的

列表的使用方式

list = ["zeruns","blog","blog.zeruns.tech",9527,[0,1,2,[1,2]]]#創(chuàng)建一個列表,一個列表里可以有多種數(shù)據(jù)類型,甚至可以嵌套列表來做二或三維列表

# 0 1 2 3 4

# -5 -4 -3 -2 -1

print(list[0])

print(list[2])

print(list[4][2])

print(list[4][3][0])

print(list[-1])

print(list[-2])

'''

結(jié)果:

zeruns

blog.zeruns.tech

2

1

[0, 1, 2, [1, 2]]

9527

'''

列表的基本操作

列表操作符操作符含義< list1 > + < list2 >連接兩個列表< list > * < 整數(shù)類型 >對列表進(jìn)行整數(shù)次重復(fù)< list >[< 整數(shù)類型 >]索引列表中的元素len( < seq > )獲取列表中元素個數(shù)for < var > in < list > :對列表進(jìn)行循環(huán)列舉< list >[< 整數(shù)類型 > : < 整數(shù)類型 >]取列表的一個子序列< expr > in < list >成員檢查,判斷< expr >是否在列表中

列表的相關(guān)方法

方法方法含義< list >.append( x )將元素x增加到列表的最后< list >.sort( )將列表元素排序,默認(rèn)為升序< list >.reverse( )將列表元素反轉(zhuǎn)< list >.index( )返回第一次出現(xiàn)元素x的索引值< list >.insert( i, x )在位置i處插入新元素x< list >.count( x )返回元素x在列表中的數(shù)量< list >.remove( x )刪除列表中第一次出現(xiàn)的元素x< list >.pop( i )取出列表中位置i的元素,并刪除它

>>> a = [2,0,9,1,5]

>>> b = ['c','w','b','a']

>>> a.append(9)

>>> a

[2, 0, 9, 1, 5, 9]

>>> a.sort()

>>> a

[0, 1, 2, 5, 9, 9]

>>> a.reverse()

>>> a

[9, 9, 5, 2, 1, 0]

>>> b.sort()

>>> b

['a', 'b', 'c', 'w']

>>> a.index(5)

2

>>> a.insert(2,7)

>>> a

[9, 9, 7, 5, 2, 1, 0]

>>> a.count(9)

2

>>> a.remove(9)

>>> a

[9, 7, 5, 2, 1, 0]

>>> a.pop(0)

9

>>> a

[7, 5, 2, 1, 0]

列表推導(dǎo)式列表推導(dǎo)式(又稱列表解析式)提供了一種簡明扼要的方法來創(chuàng)建列表。

它的結(jié)構(gòu)是在一個中括號里包含一個表達(dá)式,然后是一個for語句,然后是 0 個或多個 for 或者 if 語句。那個表達(dá)式可以是任意的,意思是你可以在列表中放入任意類型的對象。返回結(jié)果將是一個新的列表,在這個以 if 和 for 語句為上下文的表達(dá)式運行完成之后產(chǎn)生。

列表推導(dǎo)式的執(zhí)行順序:各語句之間是嵌套關(guān)系,左邊第二個語句是最外層,依次往右進(jìn)一層,左邊第一條語句是最后一層。data = [i for i in range(10)] #等價于 data = [] for i in range(10): data.append(i) '--------------分割線---------------' data = [2**i for i in range(10)] #等價于 data = [] for i in range(10): data.append(2**i) '--------------分割線---------------' data = [num for num in range(20) if num%2==1] #等價于 data = [] for num in range(20): if num%2==1: data.append(num)

應(yīng)用一個學(xué)校,有3個辦公室,現(xiàn)在有8位老師等待工位的分配,請編寫程序,完成隨機(jī)的分配

答案:

#encoding=utf-8

import random

# 定義一個列表用來保存3個辦公室

offices = [[],[],[]]

# 定義一個列表用來存儲8位老師的名字

names = ['A','B','C','D','E','F','G','H']

i = 0

for name in names:

index = random.randint(0,2)

offices[index].append(name)

i = 1

for tempNames in offices:

print('辦公室%d的人數(shù)為:%d'%(i,len(tempNames)))

i+=1

for name in tempNames:

print("%s"%name,end='')

print("\n")

print("-"*20)

運行結(jié)果如下:

元組

基本概念元組(tuple)是包含多個元素的類型,元素之間用逗號分割

如:t1 =(123,456,"hello")

可以通過把若干元素放在一對圓括號中創(chuàng)建元組,如果只有一個元素的話則需要多加一個逗號,例如(3,)。

也可以使用tuple()函數(shù)把列表、字典、集合、字符串以及range對象、map對象、zip對象或其他類似對象轉(zhuǎn)換為元組。

元組可以是空的,t2=()

一個元組也可以作為另一個元組的元素,此時,作為元素的元組需要增加括號,從而避免歧義,如:t3=(123,456,("hello","world"))

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

元組的使用

>>> a = ('hello',2020,110)

>>> a

('hello', 2020, 110)

>>> a[1]

2020

元組中的元素值是不允許修改和刪除的,但我們可以使用del語句來刪除整個元組

>>> a = ('hello',2020,'blog.zeruns.tech')

>>> print(a)

('hello', 2020, 'blog.zeruns.tech')

>>> del a

>>> print(a)

Traceback (most recent call last):

File "", line 1, in

print(a)

NameError: name 'a' is not defined

所謂元組的不可變指的是元組所指向的內(nèi)存中的內(nèi)容不可變。

>>> tup = ('r', 'u', 'n', 'o', 'o', 'b')

>>> tup[0] = 'g' # 不支持修改元素

Traceback (most recent call last):

File "", line 1, in

TypeError: 'tuple' object does not support item assignment

>>> id(tup) # 查看內(nèi)存地址

4440687904

>>> tup = (1,2,3)

>>> id(tup)

4441088800 # 內(nèi)存地址不一樣了

字典

基本概念字典是無序的對象集合,使用鍵-值(key-value) 存儲,具有極快的查找速度。

鍵(key)必須使用不可變類型

同一個字典中,鍵(key)必須是唯一的

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

dic = {key1 : value1, key2 : value2 }

字典鍵一般是唯的,如果重復(fù)最后的一一個鍵值對會替換前面的,值不需要唯一。

鍵必須不可變,所以可以用數(shù)字,字符串或元組充當(dāng),而用列表就不行>>> hhh = {'website':'blog.zeruns.tech','name':'zeruns'} >>> hhh['website'] 'blog.zeruns.tech'

常用方法

方法描述keys()返回字典中鍵的列表values()返回字典中值的列表items()返回tuples的列表。每個tuple由字典的鍵和相應(yīng)值組成clear()刪除字典的所有條目copy()返回字典高層結(jié)構(gòu)的一個拷貝,但不復(fù)制嵌入結(jié)構(gòu),而只復(fù)制對那些結(jié)構(gòu)的引用update(x)用字典x中的鍵值對更新字典內(nèi)容。get(x[,y]))返回鍵x,若未找到該鍵返回none,若提供y,則未找回時返回ystr(x)以字符串形式輸出字典xlen(x)返回字典x的元素個數(shù),即鍵的總數(shù)。

>>> hhh = {'website':'blog.zeruns.tech','name':'zeruns'}

>>> hhh.keys()

dict_keys(['website', 'name'])

>>> hhh.values()

dict_values(['blog.zeruns.tech', 'zeruns'])

>>> hhh.items()

dict_items([('website', 'blog.zeruns.tech'), ('name', 'zeruns')])

>>> hhh.copy()

{'website': 'blog.zeruns.tech', 'name': 'zeruns'}

>>> awsl = {'website':'https://blog.zeruns.tech'}

>>> hhh.update(awsl)

>>> hhh

{'website': 'https://blog.zeruns.tech', 'name': 'zeruns'}

>>> hhh.get('website')

'https://blog.zeruns.tech'

>>> hhh.get('hhh','666')

'666'

>>> hhh.clear()

>>> hhh

{}

>>> dict = {'Name': 'zeruns', 'Age': 7, 'Class': 'First'}

>>> str(dict)

"{'Name': 'zeruns', 'Class': 'First', 'Age': 7}"

字典元素修改、添加與刪除可以使用字典對象的pop()刪除指定“鍵”對應(yīng)的元素,同時返回對應(yīng)的“值"

popitem()方法用于刪除字典的一個鍵對,并返回一個包含兩個元素的元組,其中的兩個元素分別是字典元素的“鍵”和“值" .

也可以使用del刪除指定的“鍵”對應(yīng)的元素。

集合

概述Python集合是無序、可變的容器對象,所有元素放在一對大括號中,元素之間使用逗號分隔,同一個集合內(nèi)的每個元素都是唯一的, 不允許重復(fù),

集合中只能包含數(shù)字、字符串、元組等不可變類型的數(shù)據(jù),而不能包含列表.字典、集合等可變類型的數(shù)據(jù),包含列表等可變類型數(shù)據(jù)的元組也不能作為集合的元素。

集合中的元素是無序的,元素存儲順序和添加順序并不一致。

集合不支持使用下標(biāo)直接訪問特定位置上的元素,也不支持使用random中的choice()函數(shù)從集合中隨機(jī)選取元素,但支持使用random模塊中的sample()函數(shù)隨機(jī)選取部分元素。

set(集合)set和dict類似, 也是一組key的集合,但不存儲value。由于key不能重復(fù),所以,在set中,沒有重復(fù)的key。

set是無序的,重復(fù)元素在set中自動被過濾。

可以使用大括號{ }或者set()函數(shù)創(chuàng)建集合,注意:創(chuàng)建一個空集合必須用set()而不是{ },因為{ }是用來創(chuàng)建一個空字典。

set可以看成數(shù)學(xué)意義上的無序和無重復(fù)元素的集合,因此,兩個set可以做數(shù)學(xué)意義上的交集(&)、井集(|)、差集(-)等操作。

集合的常用方法s = add(x):將元素x添加到集合s中,如果元素已存在,則不進(jìn)行任何操作。

s = update(x):將x的元素添加到集合s中,x可以是列表,元組,字典等。

s.pop(x):隨機(jī)刪除集合中的一個元素。

s.remove(x):將元素x從集合s中移除,如果元素不存在,則會發(fā)生錯誤。

s.discard(x):將元素x從集合s中移除,如果元素不存在,不會發(fā)生錯誤。

len(s):計算集合 s 元素個數(shù)。

s.clear():清空集合 s。

字符串

概述字符串(str)是用雙引號""或者單引號''括起來的一個或多個字符

字符串可以保存在變量中,也可以單獨存在

字符串屬于不可變對象,所有方法都是返回處理后的字符串或字節(jié)串,不對原字符串進(jìn)行任何修改。

字符串操作字符串之間可以通過**+或***進(jìn)行連接加法操作(+)將兩個字符串連接成為一個新的字符串

乘法操作(*)生成一個由其本身字符串重復(fù)連接而成的字符串

x in s:如果x是s的子串,返回True,否則返回False

str[N:M]:切片, 返回子串

len()函數(shù)能返回-一個字符串的長度str1="hello,world"

len(str1)

大多數(shù)數(shù)據(jù)類型都可以通過str()函數(shù)轉(zhuǎn)換為字符串:如str(123)

type()函數(shù)測試一個字符串的類型

字符串操作

操作含義+連接*重復(fù)< string >[ ]索引< string >[ : ]剪切l(wèi)en(< string >)長度< string >.upper()字符串中字母大寫< string >.lower()字符串中字母小寫< string >.strip()去兩邊空格及指定字符< string >.split()按指定字符分隔字符串為數(shù)組< string >.join()連接兩個字符串序列< string >.find()搜索指定字符串< string >.replace()字符串替換for < var > in < string >字符串迭代

常用方法index(x)、rindex(x): 檢測x是否包含在字符串中,返回相應(yīng)的索引值,如果不存在。返回異常。

count(x):返回x在string里面出現(xiàn)的次數(shù)。

replace(str1,str2[,max]):把將字符串中的str1替換成str2,如果max指定,則替換不超過max次。

maketrans():創(chuàng)建字符映射的轉(zhuǎn)換表。

translate(str):根據(jù)str給出的映射轉(zhuǎn)換表轉(zhuǎn)換string字符。

ljust(width[,fllchar]): 返回一個原字符串左對齊,并使用fillchar填充至長度width的新字符串,fillchar默認(rèn)為空格。rjust()、center()類似。

split(str="",num=string.count(str)),其中num=string.count(str))以str為分隔符截取字符串,如果num有指定值,則僅截取num+1個子字符串。rsplit()類似,從右側(cè)開始截取。

join(seq): 以指定字符串作為分隔符,將seq中所有的元素(的字符串表示)合并為一個新的字符串。

startswith(substr)、endswith(substr):檢查字符串是否是以指定子字符串substr開頭或結(jié)束,是則返回True。

strip()、rstrip()、lstrip(): 截取字符串的指定字符。

字符串格式化

python字符串格式化符號:

符 號描述%c格式化字符及其ASCII碼%s格式化字符串%d格式化整數(shù)%u格式化無符號整型%o格式化無符號八進(jìn)制數(shù)%x格式化無符號十六進(jìn)制數(shù)%X格式化無符號十六進(jìn)制數(shù)(大寫)%f格式化浮點數(shù)字,可指定小數(shù)點后的精度%e用科學(xué)計數(shù)法格式化浮點數(shù)%E作用同%e,用科學(xué)計數(shù)法格式化浮點數(shù)%g浮點型數(shù)據(jù) 會去掉多余的零 至多保留6位%G浮點型數(shù)據(jù) 會去掉多余的零 至多保留6位%p用十六進(jìn)制數(shù)格式化變量的地址

格式化操作符輔助指令:

符號描述*定義寬度或者小數(shù)點精度-用做左對齊+在正數(shù)前面顯示加號( + )< sp >在正數(shù)前面顯示空格#在八進(jìn)制數(shù)前面顯示零('0'),在十六進(jìn)制前面顯示'0x'或者'0X'(取決于用的是'x'還是'X')0顯示的數(shù)字前面填充'0'而不是默認(rèn)的空格%'%%'輸出一個單一的'%'(var)映射變量(字典參數(shù))m.n.m 是顯示的最小總寬度,n 是小數(shù)點后的位數(shù)(如果可用的話)

應(yīng)用編寫程序,完成以下要求:

統(tǒng)計字符串中,各個字符的個數(shù)

比如:"hello world" 字符串統(tǒng)計的結(jié)果為: h:1 e:1 l:3 o:2 d:1 r:1 w:1

總結(jié)

以上是生活随笔為你收集整理的python定义字典列表_Python基础语法(四)—列表、元组、字典、集合、字符串的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 欧美日韩综合视频 | 亚洲第一黄色 | 伊人av一区| 久爱视频在线观看 | 国产探花视频在线观看 | 亚洲女人视频 | 人妖和人妖互交性xxxx视频 | 午夜之声l性8电台lx8电台 | 法国空姐电影在线观看 | 91国产在线看| 一本大道久久a久久综合婷婷 | 操操操免费视频 | 国产福利第一页 | 成人av电影在线播放 | 天天网综合 | 久久亚洲免费视频 | 亚洲三级伦理 | 中国极品少妇videossexhd 就要干就要操 | 中国一级特黄真人毛片免费观看 | 懂色av蜜臀av粉嫩av喷吹 | 欧美成人国产精品一区二区 | av激情在线观看 | 精品一区二区三区免费看 | 荫道bbwbbb高潮潮喷 | 波多野结衣中文字幕一区二区三区 | 国产福利在线播放 | 91超碰在线 | 国产原创视频在线观看 | 久久久久国产精品午夜一区 | 国产美女白浆 | 在线免费福利 | 欧美 另类 交 | 樱桃国产成人精品视频 | 久久精品国内 | 制服丝袜国产精品 | 亚洲黄色片在线观看 | 亚洲欧美精品一区二区三区 | 黄色另类小说 | 国产剧情av引诱维修工 | 亚洲天堂免费看 | 色综合中文 | 国产精品久久久久久久久久久久久久久久 | 国产精品视频久久久久久 | 开心激情网站 | 精品乱码一区二区三四区视频 | 自拍亚洲欧美 | 久久久久无码国产精品一区李宗瑞 | 91嫩草精品 | 亚洲av无码一区二区三区四区 | 亚洲国产av一区二区 | 猫咪av在线| 亚洲成人一区在线观看 | 噜噜噜久久,亚洲精品国产品 | 日本xxxwww | 日本三级影院 | 欧美日韩大陆 | 看av的网址 | 黄色h视频| 性感少妇av| 一区二区三区亚洲 | 偷偷久久| 日韩av网站在线播放 | 假日游船| 正在播放木下凛凛xv99 | 成人免费无遮挡无码黄漫视频 | 性猛交xxxx乱大交孕妇印度 | 久久精品视频8 | 国产夫妻自拍av | 亚洲污视频 | 欧美精品激情 | 久久久久久久97 | 国产精品xxxxx | 在线观看国产小视频 | 一本大道东京热无码 | 粗大黑人巨茎大战欧美成人 | 91麻豆影视| 午夜网站在线观看 | 男女啪啪无遮挡 | 中文一区在线观看 | 亚洲免费成人av | 精品乱子伦一区二区 | 蜜臀久久99精品久久久久久宅男 | 欧美精品xxxxx | 成人免费黄色网址 | 日韩在线91| 久久艹精品视频 | 色噜噜在线| 在线观看免费视频黄 | 亚洲爆乳无码精品aaa片蜜桃 | 成人综合久久 | 午夜福利一区二区三区 | xxx国产精品| 麻豆网站免费看 | 日韩中文字幕av | www.555国产精品免费 | 国内自拍xxxx18 | 欧美黄色三级视频 | jzzijzzij亚洲成熟少妇在线观看 久久久精品人妻一区二区三区 | 欧美视频免费在线观看 |