2018-07-23 day6

一、列表

增,刪,改,查
1.修改列表元素

'''
通過下標獲取元素,然后重新賦值:列表名[下標]=新的值

'''
names=['周星馳','張家輝','劉德華','楊洋']
names[4]='陳奕迅'
names[-1]
print (names)

2.列表的其他操作

'''
1.len():獲取列表的長度(元素的個數)
2.列表1+列表2:讓列表1和列表2的元素組合在一起產生一個新的列表
3.列表*數字:讓列表中的元素重復n次,產生一個新的列表
'''
print(len ([1,2,3,4,5]))
print (len(names))

new_names =names +['周杰','王力宏']
print(new_names)

print ([1,2]*3)
'''
4.in,not in 操作
元素 in 列表:判斷指定的元素是否在指定的列表中
'''
result='高以翔' not in names
print (result)

3.獲取列表中的最大的元素和最小元素

'''
max(列表)
min(列表)
'''
print (max([1,2,67,8]))
print (max(['a','bc','adf','z']))
print (min([1,45,89,0,-1,8]))

獲取一個數字列表中的最大值

numbers=[1,23,56,2,445,7]
max1=number[0]
for item in numbers:
if item>max1:
max1=item
print (max1)

4.其他方法

'''
count:獲取指定元素在列表中出現的次數'''
print (numbers.count(-1))
'''
extend:將序列中的每一個元素,添加到列表中
'''
names.extend(['王祖賢'])
print (names)
'''
列表.index(元素):獲取指定元素在指定列表中的索引(如果元素有多個,取第一個)'''
print(names.index('張家輝'))
'''
列表.reverse():反向列表中的元素(直接操作原列表,不會產生新列表)'''
numbers=[1,22,3,4,89]
numbers.reverse()
print (numbers)
'''
列表.sort():對列表元素進行排序(默認從小到大排序--升序)'''
numbers=[1,42,45,6,90]
numbers.sort() #升序
print (numbers)

numbers.sort(reverse=True) #降序
print (numbers)
'''
列表.clear(): 清空列表中的元素'''
numbers.clear()

numbers=[] #效果同上

print (numbers)
'''
列表.copy():將列表中的元素全部拷貝一份創(chuàng)建一個新的列表'''
names=['張三','李四']
new_names1=names.copy()
new_names1=names[ : ]
print (new_names1)

注意:通過一個列表變量給另一個列表變量賦值的時候,賦的是地址;兩個列表

對元素進行操作的時候會互相影響。

想要避免這個問題就使用copy或者切片

二、元組

'''
1,什么是元祖

元組就是不可變的列表,列表中除了可變的操作以外,其他的操作都適用于元祖
元祖值:使用()將元素包含起來,多個元素之間用逗號隔開,比如(1,2,'abf')
元素的類型可以是任何類型
2.改、增,刪相關操作不能作用于元祖,查可以
'''
colors=('red','green','yellow','purple')

1.查(和列表的查一模一樣,沒有任何區(qū)別)

print (colors[1])
print (colors[0:3])
print (colors[0::2])
for item in colors:
print (item)

names=('name1','name2','name3')
x,y,z=names
print (x,y,z)

2.len

print (len(colors))

3.in,not in

print ('red'in colors)

4.+和*

print ((1,2)+(3,4))
print ((1,2)*2)

5.元祖補充
獲取元祖的元素

names=('name1','name2','name3')
first,midel,last=names #通過變量名前加可以把變量變成列表,獲取多個元素
print (first,midel,last)
*name1,name=names
print (name1,name)

三、字典

'''
字典也是一種容器類型的數據類型(序列),存的數據是以鍵值對的形式出現的,字典中的元素全部都是鍵值對。
字典是可變的(可以增刪改),但是無序的(不能使用下標)
鍵值對:鍵:值(key:value):鍵值對中key是形式,值才是真正要存的內容
鍵:理論上可以是任何不可變的數據類型,但是實際開發(fā)的時候一般使用字符串作為key
值:可以是任意數據類型數據
鍵是唯一的

'''

1.聲明一個字典

'''創(chuàng)建一個字典變量'''
dict1={} # 創(chuàng)建一個空的字典
print (type(dict1))

dict2={'a':1,'b':'abc'}
print (dict2)
'''將其他類型數據轉換成字典'''
dict3=dict()
print (dict3)

2.字典的增刪改查

'''a.查:獲取字典的元素的值
字典獲取元素的值是通過key來獲取的
字典[key]
如果key不存在,會報錯
'''
'''
字典.get(key)'''
print (person.get('name'))

如果key不存在,返回none

'''
注意:如果key值確定存在使用[]去獲取值,不確定key值是否存在才使用get方式去獲取值。'''
'''
b.增加元素\修改元素
通過key獲取字典元素,然后賦值。當key本身就存在的時候,就是修改元素的值,不存在的時候就是給字典添加鍵值對。
'''
person['age']=18
print (person)
'''c.刪除 :刪除的是鍵值對
del 字典[key]---注意:key如果不存在會報錯
'''
del person['face']
print (person)
'''
字典.pop(key)---會返回被刪除的鍵值對對應的值
'''
person.pop('age')
print (person)

3.相關的數組屬性

'''
字典.keys():獲取字典所有的key,返回值的類型是dict_keys,但是可以把它當成列表使用
字典.values():獲取字典所有的值(value)
字典.items():將字典中所有的鍵值對轉換成一個一個的元祖,key作為元祖的第一個元素,value作為元祖的第二個元素
'''

4.遍歷字典
直接遍歷字典獲取到的是所有的key(推薦使用)

for key in student_dict:
print (key,student_dict[key])

b.遍歷直接獲取到key和value(不推薦使用)

for key,value in student_dict.items():
print (key,value)

5.列表中有字典、字典中有字典、字典中有列表

'''
聲明一個變量,作用是用來存儲一個班的學生的信息。其中學生的信息包括姓名、性別、年齡、電話
至少存三個學生信息
'''

6.其他操作

'''
1.fromkeys()
dict.formkeys(序列,value):創(chuàng)建一個新的字典,序列中的元素作為key,value作為值
'''
'''
2.in
key in 字典:判斷字典中是否存在指定的key
'''
'''
3,update
字典1.update(字典2):使用字典2的鍵值對去更新字典1中的鍵值對。如果字典2中對應鍵值對在字典1中不存在,就添加。存在就更新。

'''

四、集合

'''
集合也是一種容器類型的數據類型(序列),數據放在{}中,多個之間只用逗號隔開:{1,2,'a'}
集合是無序的(不能通過索引去取值),可變(可以增刪改),元素不能重復
集合可以進行數學中集合相關的操作:判斷是否包含,求交集、并集、差集、補集
'''

1.怎么聲明集合

'''
a.聲明一個變量,賦一個集合值

'''
set1={1,2,3}
print (set1,type(set1))
'''b.將其他的數據轉換成集合'''
set2=set('abc123') #將其他數據轉換成集合,自帶一個去重的功能
print (set2)
set3=set([12,'abc','hh',32,12])
print (set3)
print (list(set3))

2.增刪改查

'''
a.查:遍歷
注意:集合沒有辦法單獨獲取某一個元素
'''
for item in set2:
print (item)
'''
b.增
集合.add(元素):在指定的集合中添加指定的元素'''
set1={1,2,3}
set1.add(100)
print (set1)

集合1.update(集合2):將集合2中的元素添加到集合1中,自動去重

set1.update({'adb','ss'})
print (set1)
'''c.刪'''

集合.remove(元素):在指定的集合中刪除指定的元素

set1.remove('ss')
print (set1)

pop刪除是隨機刪除一個

set1.pop()
print (set1)

3.判斷是否包含

'''
集合1>=集合2 ---判斷集合1中是否包含集合2
集合1<=集合2 ---判斷集合2中是否包含集合1
'''

4.數學的集合運算

'''求并集:|'''
print ({1,2,3}|{2,3,4,5})
''' 求交集:&'''
print ({1,2,3}&{2,3,4,5})
'''求差集:-'''
print ({1,2,3}-{2,3,4,5})
'''求補集:^'''
print ({1,2,3}^{2,3,4,5})

5.其他方法

'''clear:清空集合'''
set1.clear()
print (set1,type(set1))
'''len:獲取集合中元素的個數'''
print (len(set1))

?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 一、快捷鍵 ctr+b 執(zhí)行ctr+/ 單行注釋ctr+c ...
    o_8319閱讀 6,044評論 2 16
  • 〇、前言 本文共108張圖,流量黨請慎重! 歷時1個半月,我把自己學習Python基礎知識的框架詳細梳理了一遍。 ...
    Raxxie閱讀 19,600評論 17 410
  • 2.相等運算符 3.is:同一性運算符 #避免將is運算符用于比較類似數值和字符串這類不可變值,由于Python內...
    mydre閱讀 761評論 0 1
  • 累了,8點多,困的不行,睡了,10點多醒來。 30的年紀,20的困惑,何去何從?
    mushishi閱讀 331評論 0 1
  • 報錯如下: java.lang.RuntimeException: Unable to start activit...
    Chentt的技術博客閱讀 1,055評論 0 0

友情鏈接更多精彩內容