列表:
sygj = ['中国','日本','缅甸','菲律宾','蒙古','葡萄牙','西班牙','德国','法国','美国','加拿大']
-------------------------------------------------------------------------------------------------------
元组:
列表是可以修改的。然而,有时候你需要创建一系列不可修改的元素,元组可以满足这个需求。
python将不能修改的值称之为不可变的,而不可变的列表,称之为元组。
注意:元组使用圆括号而不是方括号来标记。
a = ('a','b','c','d','e')
-------------------------------------------------------------------------------------------------------
字典:
典:是一系列 键-值 对;每个键都与一个值相关联;
可以通过使用键来访问与之对应的值;与键相关联的值可以是数字、列表、乃至字典。
字典用花括号{ }
键-值 是两个相关联的值。指定键时,python返回与之对应的相关联的值。
键和值之间用冒号分隔; 而 键-值 对之间用逗号分隔。在字典中,你想存储多少个 键-值 都可以。
alien_0 = {'color': 'green', 'points': 5, 'x_position': 12, 'y_position': 21}
-------------------------------------------------------------------------------------------------------
list列表(数组):
stus=['saki','yuri','mimo'] #定义数组 #下标(角标、索引、编号) 0 1 2
stus[0]表示saki , stus[1]表示yuri, 下标从0开始
列表增删改查:
# 增加
stus.append('sami') #在列表末尾增加一个元素
stus.insert(0,'kumi') #在指定位置添加一个元素,其它元组自动后移
# 删除
stus.pop(2) #删除指定位置的元素
del stus[3] #删除指定位置的元素
stus.remove('saki') #删除指定的元素
stus.clear() #清空整个list
# 修改
stus[2]='miumiu' #重新赋值
# 查
print(stus[2]) #查询取下标
print(stus[-1]) #查询list最后一个元素
stus.count() #统计这个元素在list里面出现了几次
print(stus.index('saki')) #返回这个元素第一次出现的下标,如果元素不存在,会报错
stus.reverse() #反转列表
print(stus)
stus2=['yuri','yuro','yumi']
stus.extend(stus2) #把后面list里面的值加入到第一个list里面
stus3=stus+stus2 #合并两个list
print(stus)
list排序:
nums=[12,33,11,55,19,25,88]
nums.sort() # 默认升序
nums.sort(reverse=True) #降序
===============================================================================================
alien_0 = {'color':'green','points':5}
print(alien_0) #打印 字典
#-----------------------------------------------------------
alien_0['x_position'] = 12 #添加 键-值
alien_0['y_position'] = 21 #添加 键-值
alien_0.setdefault('speed','kuai') #如果此键即key存在,则报错
#setdefault方式,如果key已存在,操作无效,若不存在,则新增,只能新增不能修
print(alien_0) #打印 字典
#-----------------------------------------------------------------------
print(alien_0['color']) #打印 键-值
alien_0['speed'] = 'man' #修改键的值,如果此键不存在字典里,就是新增的意思了
print(alien_0)
#--------------------------------------
alien_0.pop('speed') #删除指定key的值
print(alien_0)
#-----------------------------------------------------------
del alien_0['y_position'] #删除指定key的值
print(alien_0)
#--------------------------------------
print(alien_0['x_position']) #取指定key的值
print(alien_0.get('x_position')) #取指定key的值
#---------------------------------------------------------------
alien_0.popitem() #随机删除一个值
print(alien_0)
#----------------------------------------------------
alien_0.clear() #清空这个字典
print(alien_0)
====================================================================================
alien_0 = {'color':'green','points':5}
alien_1 = { 'x_position':100 , 'y_position' : 200 }
print(alien_0)
print(alien_1)
#{'color': 'green', 'points': 5}
#{'x_position': 100, 'y_position': 200}
#--------------------------------
alien_0.update(alien_1) #将字典2增加到字典1里面
print(alien_0)
#{'color': 'green', 'points': 5, 'x_position': 100, 'y_position': 200}
#-----------------------------------------
print(alien_0.items()) #将字典中所有的项以列表的形式返回,列表中的每一项都是以键值对的形式表现
#dict_items([('color', 'green'), ('points', 5), ('x_position', 100), ('y_position', 200)])
#------------------------------------------------------------------------------------------
for k,v in alien_0.items(): #将字典变为列表,在for输出
print(k,v)
for语句执行结果:
color green
points 5
x_position 100
y_position 200
----------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
PS:列表的 循环
carssa = ['richan','fengtian','bentian','aodi','nisang']
for ax in carssa :
print(ax)
===================================================================================================
嵌套:
单独的列表或者字典的循环操作,请看前面几章示例,下面举例列表中有字典,字典中有列表的等嵌套操作。
1、列表中嵌入字典
示例:
alien_0 = { 'color': 'green' , 'points': 5 }
alien_1 = { 'color': 'follow' , 'points': 15 }
alien_2 = { 'color': 'blue' , 'points': 25 }
alien_3 = { 'color': 'white' , 'points': 35 }
alien_4 = { 'color': 'red' , 'points': 45 }
aliens = [ alien_0,alien_1,alien_2,alien_3,alien_4]
print(aliens)
for alies in aliens :
print(alies)
执行结果:
[{'color': 'green', 'points': 5}, {'color': 'follow', 'points': 15}, {'color': 'blue', 'points': 25}, {'color': 'white', 'points': 35}, {'color': 'red', 'points': 45}]
{'color': 'green', 'points': 5}
{'color': 'follow', 'points': 15}
{'color': 'blue', 'points': 25}
{'color': 'white', 'points': 35}
{'color': 'red', 'points': 45}
-------------------------------------------------------------------
示例:
aliens = [ ] #创建一个空的外心人列表
for alien_number in range(30) : #创建30个绿色外星人
new_alien = {'color': 'green', 'points': 5}
aliens.append(new_alien)
print(aliens)
for alien in aliens[ :3] :
print(alien)
执行结果:
[{'color': 'green', 'points': 5}, {'color': 'green', 'points': 5}, {'color': 'green', 'points': 5}, {'color': 'green', 'points': 5}, {'color': 'green', 'points': 5}, {'color': 'green', 'points': 5}, {'color': 'green', 'points': 5}, {'color': 'green', 'points': 5}, {'color': 'green', 'points': 5}, {'color': 'green', 'points': 5}, {'color': 'green', 'points': 5}, {'color': 'green', 'points': 5}, {'color': 'green', 'points': 5}, {'color': 'green', 'points': 5}, {'color': 'green', 'points': 5}, {'color': 'green', 'points': 5}, {'color': 'green', 'points': 5}, {'color': 'green', 'points': 5}, {'color': 'green', 'points': 5}, {'color': 'green', 'points': 5}, {'color': 'green', 'points': 5}, {'color': 'green', 'points': 5}, {'color': 'green', 'points': 5}, {'color': 'green', 'points': 5}, {'color': 'green', 'points': 5}, {'color': 'green', 'points': 5}, {'color': 'green', 'points': 5}, {'color': 'green', 'points': 5}, {'color': 'green', 'points': 5}, {'color': 'green', 'points': 5}]
{'color': 'green', 'points': 5}
{'color': 'green', 'points': 5}
{'color': 'green', 'points': 5}
-------------------------------------------------------------------
2、在字典中存储列表
示例:
favorite_languages = {
'shen': ['python','java'],
'yuan': 'java',
'chen': ['c','c++'],
'long': 'delphi',
'huge':['java','ruby'],
}
print(favorite_languages)
执行结果:
{'shen': ['python', 'java'], 'yuan': 'java', 'chen': ['c', 'c++'], 'long': 'delphi', 'huge': ['java', 'ruby']}
-----------------------------------------------------------------------------------------------------------------------
示例:
favorite_languages = {
'shen': ['python','java'],
'yuan': ['java'],
'chen': ['c','c++'],
'long': ['delphi'],
'huge':['java','ruby'],
}
print(favorite_languages)
for xingming,kecheng in favorite_languages.items() : #课程是一个列表,item()即提取键和值,
print('\n姓名:'+xingming) #姓名在xingming里,课程在kecheng里,
for kc in kecheng :
print('课程:'+kc)
执行结果
{'shen': ['python', 'java'], 'yuan': ['java'], 'chen': ['c', 'c++'], 'long': ['delphi'], 'huge': ['java', 'ruby']}
姓名:shen
课程:python
课程:java
姓名:yuan
课程:java
姓名:chen
课程:c
课程:c++
姓名:long
课程:delphi
姓名:huge
课程:java
课程:ruby
--------------------------------------------------------------------------------
3、在字典中存储字典
示例:
users = {
'沈巍伟' : { '姓': '沈',
'名': '巍伟',
'地址':'盐城',
},
'袁凌凌': {'姓': '袁',
'名': '凌凌',
'地址': '泰兴',
},
}
print(users)
for username,user_info in users.items() :
print(username)
print(user_info['姓']+' '+user_info['名']+' '+user_info['地址'])
print(user_info)
执行结果:
{'沈巍伟': {'姓': '沈', '名': '巍伟', '地址': '盐城'}, '袁凌凌': {'姓': '袁', '名': '凌凌', '地址': '泰兴'}}
沈巍伟
沈 巍伟 盐城
{'姓': '沈', '名': '巍伟', '地址': '盐城'}
袁凌凌
袁 凌凌 泰兴
{'姓': '袁', '名': '凌凌', '地址': '泰兴'}
===============================================================================================
使用标志 :
active设置为true,让程序最初处于活动状态,
示例:
current_number = 0
current = True
while current :
current_number += 1
print(current_number)
if current_number % 4 == 0 :
current = False #结束循环标志
执行结果:
1
2
3
4
-------------------------------------------------------------------------
在列表之间移动元素
示例:
un_confirmed_users = ['沈巍伟','袁凌','胡歌','成龙'] #待验证
confirmed_users = [ ] #通过验证
print(un_confirmed_users)
print(confirmed_users)
while un_confirmed_users : #while循环不断的运行,知道待验证列表变为空
current_users = un_confirmed_users.pop()
print(current_users)
confirmed_users.append(current_users)
print(un_confirmed_users) #未通过验证
print(confirmed_users) #通过验证
执行结果:
['沈巍伟', '袁凌', '胡歌', '成龙']
[]
成龙
胡歌
袁凌
沈巍伟
[]
['成龙', '胡歌', '袁凌', '沈巍伟']
----------------------------------------------------------------------