列表
names = ["zhangsan","Lisi","Wangwu"]
和C語言的數(shù)組不同,數(shù)組必須定義數(shù)據(jù)類型,并且只能存放定義的數(shù)據(jù)類型,但列表可同時存儲多種類型的數(shù)據(jù)類型
int nums[] = [11,22,33,44];
列表的增刪改查:
增
append() 插入最后
insert(位置,插入元素)
names = ["zhangsan","lisi","wangwu"]
>>> names
['zhangsan', 'lisi', 'wangwu']
>>> names.append("zhaoliu")
>>> names
['zhangsan', 'lisi', 'wangwu', 'zhaoliu']
>>> names.insert(0,"jalynn")
>>> names
['jalynn', 'zhangsan', 'lisi', 'wangwu', 'zhaoliu']
>>>
合并兩個列表
>>> names1 = ["janny","Daynn","Liming"]
>>> allname = names + names1
>>> allname
['jalynn', 'zhangsan', 'lisi', 'wangwu', 'zhaoliu', 'janny', 'Daynn', 'Liming']
刪
pop() 從最后一個開始刪除
remove(要刪除的元素),從左邊開始找第一個刪除
del names[i]根據(jù)下標刪除
>>> allname
['jalynn', 'zhangsan', 'lisi', 'wangwu', 'zhaoliu', 'janny', 'Daynn', 'Liming']
>>> allname.pop()
'Liming'
>>> allname
['jalynn', 'zhangsan', 'lisi', 'wangwu', 'zhaoliu', 'janny', 'Daynn']
>>> allname.remove("lisi")
>>> allname
['jalynn', 'zhangsan', 'wangwu', 'zhaoliu', 'janny', 'Daynn']
>>> del allname[1]
>>> allname
['jalynn', 'wangwu', 'zhaoliu', 'janny', 'Daynn']
列表也可以切片
allname[2:5]
['wangwu', 'zhaoliu', 'janny']
改
>>> allname[0]
'jalynn'
>>> allname[0] = "juanxia"
>>> allname
['juanxia', 'wangwu', 'zhaoliu', 'janny', 'Daynn']
字典
用鍵值對存儲數(shù)據(jù)
info = {"name":"xjx","address":"shenzhen","age":18}
>>> info["age"]
18
名字管理系統(tǒng)
#encoding:utf-8
card_infors =[]
while True:
num = int(input("請輸入操作序號:"))
if num == 1:
newname = raw_input("請輸入新的名字:")
newqq = raw_input("請輸入新的qq:")
newage = raw_input("輸入新的年齡:")
newwechat = raw_input("輸入新的微信:")
new_info = {}
new_info['name'] = newname
new_info['qq'] = newqq
new_info['wechat'] = newwechat
new_info['age'] = newage
card_infors.append(new_info)
elif num ==2:
findname = raw_input("輸入你要查詢的人:")
for temp in card_infors:
if findname == temp['name']:
print("找到了你要查找的人")
else:
print("查無此人")
elif num ==3:
pass
elif num ==4:
print("姓名\tQQ\t年齡\t微信\t")
for temp in card_infors:
print("%s\t%s\t%s\t%s\t"%(temp['name'],temp['qq'],temp['age'],temp['wechat']))
elif num ==5:
break
else:
print("輸入有誤,重新輸入")
字典的增刪改查
增:
infor = {"name":"jalynn"}
>>> infor["age"] = 18
>>> infor
{'age': 18, 'name': 'jalynn'}
刪:
>>> infor
{'qq': 1728, 'age': 18, 'name': 'jalynn'}
>>> del infor["age"]
>>> infor
{'qq': 1728, 'name': 'jalynn'}
查:
>>> infor
{'qq': 1728, 'name': 'jalynn'}
>>> infor["qq"] #如果沒有的話,程序會奔潰
1728
>>> infor.get("name") #用get如果沒有程序也不會奔潰
'jalynn'
改:
>>> infor.get("age")
>>> infor["qq"] = "12345678"
>>> infor
{'qq': '12345678', 'name': 'jalynn'}
extend()和append()的區(qū)別
>>> a = [11,22,33,44]
>>> b = [55,66]
>>> a.extend(b)
>>> a
[11, 22, 33, 44, 55, 66]
>>> a.append(b)
>>> a
[11, 22, 33, 44, 55, 66, [55, 66]]
>>> a = a.append(b)
>>> print(a)
None #注意不能用這個方法,否則為空
字典的操作
info = {"name":"xjx","age":"18"}
>>> len(info) #鍵值對的個數(shù)
2
>>> info.keys() #字典中華所有的鍵
['age', 'name']
>>> info.values() #拿到字典中所有的值
['18', 'xjx']
>>> info.items()
[('age', '18'), ('name', 'xjx')] #拿到字典中所有的鍵值對
取元組中的值

image.png
注意:
python里存在:for...else
如果加了break,則else一定不執(zhí)行,否則else一定執(zhí)行

image.png
多行縮進 :2,23>
顯示行數(shù)::set nu