Python学习(七):列表的魔法
这是我关于Python学习的第七篇博客,加油!
索引、切片、循环必须记住
列表的基本格式:用中括号括起来,中间用逗号进行分割,列表中可以是字符串、数字、列表、布尔值,列表可以无限嵌套,内部可以放置任何东西
li=[1,2,6,‘list’,[u,o,g],[‘abc’,[‘po’,1],2,3],True]
列表li中含有7个元素(依据为被逗号分割)
可将字符串转为列表,但数字不能转为列表,因为将其他类转为列表运用的是for循环,但数字不能使用for循环
str1='abcdefghidhior01273465'
str2='1,2,3'
li1=list(str1)
li2=list(str2)
print(li1)#['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'd', 'h', 'i', 'o', 'r', '0', '1', '2', '7', '3', '4', '6', '5']
print(li2)#['1', ',', '2', ',', '3']
将列表中的每一个元素拼接为字符串
- 当列表中既有字符串又有数字时,使用for循环
li1=[123,456,'a','b','cdupok']
s=''
for i in li1:
s=s+str(i)
print(s)#123456abcdupok
- 当列表中只有字符串时,使用join
li1=['a','b','cdupok']
v=''.join(li1)
print(v)#abcdupok
取列表中的元素
- 索引取值,可通过索引一直往里取值,可取嵌套中的元素
li=[1,2,6,'list',['u','o','g'],['abc',['po',1],2,3],True]
print(li[3])#list
print (li[5][0][0])#a
print (li[5][1][0])#po
print (li[5][1][0][1])#0
- 切片取值,切片的结果也是列表,并且不包括后面
print(li[1:5])#[2, 6, 'list', ['u', 'o', 'g']]
print(li[1:-2])#[2, 6, 'list', ['u', 'o', 'g']]
支持for和while循环,break,continue功能也一样
for item in li:
print(item)
'''
1
2
6
list
['u', 'o', 'g']
['abc', ['po', 1], 2, 3]
True
'''
列表元素可以被修改
- 通过索引修改
li[3]='love'
print(li)#[1, 2, 6, 'love', ['u', 'o', 'g'], ['abc', ['po', 1], 2, 3], True]
- 通过切片修改
li[4:6]=[111,222]
print(li)#[1, 2, 6, 'list', 111, 222, True]
列表元素可以被删除,del
- 使用索引
del li [4]
print(li)#[1, 2, 6, 'list', ['abc', ['po', 1], 2, 3], True]
- 使用切片
del li [4:6]
print(li)#[1, 2, 6, 'list', True]
支持in操作,判断某元素是否在列表内
注意体会以下代码中的v,v1,v2,列表中每个元素以逗号进行分割作为一个整体,进行操作
v=['u','o','g'] in li
v1=['po',1] in li
v2='u' in li
print(v,v1,v2)#True False False