1、数组与字符串
1)list属于可变变量,里面的值可以修改
string属于不可变变量,里面的值不可修改
例如我想把某个字符串的字符给修改替换
info = '你好,今天天气有雨'
info[2]='啊'
print(info)
结果如下:
info[2]='啊' TypeError: 'str' object does not support item assignment 会报错
2)数组与字符串使用for循环
字符串使用for循环,循环字符串每个字符
words = 'emily,emily1,刘佳,刘佳1' for name in words: print(name)
结果如下:
e m i l y , e m i l y 1 , 刘 佳 , 刘 佳 1
是循环字符串每各字符,一个个取出
数组使用for循环,循环里面每个元素
lists = ['emily','emily1','刘佳','刘佳1'] for name in lists: print(name)
结果如下:
emily
emily1
刘佳
刘佳1
2、多维数组练习
lists1 = ['测试','生日','刘佳','工程师',[1,2,3,4]] for name in lists1: if type(name)==list: for i in name: print(i) print(name)
结果如下:
测试 生日 刘佳 工程师 1 2 3 4 [1, 2, 3, 4]
3、练习:
stus=[
['小明','未交'],
['小白','已交'], ['小紫','已交'],
['小红','未交'], ['小绿','未交'],
['小黄','未交'], ['小黑','已交']
]
pass_list = []#所有已经交作业的同学
fail_list = []#没有交作业同学的名字
stus=[ ['小明','未交'], ['小白','已交'], ['小紫','已交'], ['小红','未交'], ['小绿','未交'], ['小黄','未交'], ['小黑','已交'] ] pass_list = []#所有已经交作业的同学 fail_list = []#没有交作业同学的名字 for name in stus: if name[1]== '已交': pass_list.append(name[0]) else: fail_list.append(name[0]) print('已交作业的同学是:%s'%pass_list) print('未交作业的同学是:%s'%fail_list)
或
stus=[ ['小明','未交'], ['小白','已交'], ['小紫','已交'], ['小红','未交'], ['小绿','未交'], ['小黄','未交'], ['小黑','已交'] ] pass_list = []#所有已经交作业的同学 fail_list = []#没有交作业同学的名字 for stu in stus: status = stu[1] name = stu[0] if status == '已交': pass_list.append(name) else: fail_list.append(name) print('已交作业的同学是:%s'%pass_list) print('未交作业的同学是:%s'%fail_list)
输出结果都是:
已交作业的同学是:['小白', '小紫', '小黑'] 未交作业的同学是:['小明', '小红', '小绿', '小黄']
4、元组
1)元组也是一个list,它和list的区别就是元组里面的元素不能修改(增,删,改)
2)元组的类型:
t = (1,2,34,45,12,34) print(type(t))
输出结果是:
<class 'tuple'>
3)元组的查询与list相同
for i in t: print(i)
输出结果为:
1 2 34 45 12 34
t = (1,2,34,45,12,34) print(t[::2])
输出结果为:
(1, 34, 12)
t = (1,2,34,45,12,34) t[1]=90 print(t)
输出结果会报错,提示元组并不能修改元素
t[1]=90 TypeError: 'tuple' object does not support item assignment
4)相似写法的不同类型
t = (1,2,34,45,12,34) word = (1) word2 = ('abc') print(type(t)) print(type(word)) print(type(word2))
结果是:
<class 'tuple'> <class 'int'> <class 'str'>
看一和二,如果给word这个加一个逗号
t = (1,2,34,45,12,34) word = (1,) word2 = ('abc') print(type(t)) print(type(word)) print(type(word2))
输出结果就不同了
<class 'tuple'> <class 'tuple'> <class 'str'>
也就是说如果元组里面只有一个元素的话,那么你必须在这个元素后面加一个逗号。
5)元组找元素下标与个数
元组找元素下标和个数与list相同
t = (1,2,34,45,2,34) print(t.index(2))#找到元素的下标 print(t.count(2)) #找到元素的个数
结果为:
1 2