Day3

细讲基本数据类型-列表

>>> names = []
>>> names
[]#空列表

 列表特性:

1.可存放多个值

2.按照从左到右的顺序定义列表元素,下标从0开始顺序访问,有序

3.可修改指定索引位置对应的值,可变

.append   追加

.insert (x,'')     插入

.extend     (扩展)    合并

>>> name = ['egon','alex','seven','yuan']
>>> name1 = ['qiangzi','shaohua','xifeng']
>>> name1.extend(name)       #按顺序将name里的元素追加到name1里
>>> name1
['qiangzi', 'shaohua', 'xifeng', 'egon', 'alex', 'seven', 'yuan']

列表嵌套

>>> name = ['qiangzi','xifeng','shaohua']
>>> n = [1,2,3]
>>> name.insert(1,n)
>>> name
['qiangzi', [1, 2, 3], 'xifeng', 'shaohua']

嵌套取值

['qiangzi', [1, 2, 3], 'xifeng', 'shaohua']
>>> name[1][2]
3

删除

del 直接删

>>>name1 = ['qiangzi', [1, 2, 3], 'shaohua', 'xifeng', 'egon', 'alex', 'seven', 'yuan']
>>> del name1[2]
>>> name1
['qiangzi', [1, 2, 3], 'xifeng', 'egon', 'alex', 'seven', 'yuan']
>>>

pop删#pop删不能在空列表中使用,会报错

.pop()#默认删除最后一个元素并返回删除值

>>>name1 = ['qiangzi', [1, 2, 3], 'xifeng', 'egon', 'alex', 'seven', 'yuan']
>>> name1.pop()
'yuan'

.pop(x)#删除指定元素

>>>name1 = ['qiangzi', [1, 2, 3], 'xifeng', 'egon', 'alex', 'seven', 'yuan']

>>> name1.pop(1)
[1, 2, 3]

.clear清空

>>>name1 = ['qiangzi', 'xifeng', 'egon', 'alex', 'seven']
>>> name1.clear()
>>> name1
[]

.remove()#从左到右找到第一个匹配的()元素删掉,如果没有就报错。

>>> names = ['qiangzi','xifeng','shaohua','qiangzi']
>>> names.remove('qiangzi')
>>> names
['xifeng', 'shaohua', 'qiangzi']

修改操作  #直接赋值就可以

>>> name1 = ['qiangzi', 'xifeng', 'egon', 'alex', 'seven']

>>> name1[-1] = '啥也不是'
>>> name1
['qiangzi', 'xifeng', 'egon', 'alex', '啥也不是']

查操作

.index  #返回从作开始匹配道德的第一个元素的索引,不能查列表中没有的元素

>>> name1 = ['qiangzi', 'xifeng', 'egon', 'alex', '啥也不是']
>>> name1.index('啥也不是')
4

.count #返回元素相同值得个数,可查列表中没有的元素。返回 0。

>>> name = ['qiangzi','xifeng','shaohua','qiangzi']
>>> name.count('qiangzi')
2

直接查

>>> name = ['qiangzi','xifeng','shaohua','qiangzi']

>>> 'daqiang' in name
False

切片

切片就像切面包,可以同时取出元素的多个值

names[start:end]

>>> names = ['qiangzi', 'shaohua', 'xifeng', 'egon', 'alex', 'seven', 'yuan']
>>> names[0:4] #不包含下标4的元素。切片的特性顾头不顾尾,start元素会包含end-1是实际取出元素
['qiangzi', 'shaohua', 'xifeng', 'egon']

>>> names[1:-1]
['shaohua', 'xifeng', 'egon', 'alex', 'seven']

>>> names[2:]#到最后
['xifeng', 'egon', 'alex', 'seven', 'yuan']

>>> names[:4]#从0开始
['qiangzi', 'shaohua', 'xifeng', 'egon']

倒着切#并非从右往左。一直从左往右

>>> names = ['qiangzi', 'shaohua', 'xifeng', 'egon', 'alex', 'seven', 'yuan']

>>> names[-1:-5]
[]#不可以 只能从小到大,从左往右。

>>> names[-5:-2]

['xifeng', 'egon', 'alex']

步长 = 步子的长度  

names[start:end:步长]

>>> names = ['qiangzi', 'shaohua', 'xifeng', 'egon', 'alex', 'seven', 'yuan']
>>> names[1:5:2]
['shaohua', 'egon']

>>> names[::2]#只用步长
['qiangzi', 'xifeng', 'alex', 'yuan']

用len实现真正的从作右往左倒着切

names[-start:-end:-步长]

>>> names = ['qiangzi', 'shaohua', 'xifeng', 'egon', 'alex', 'seven', 'yuan']
>>> names[-1:-5]
[]
>>> names[-1:-5:-1]
['yuan', 'seven', 'alex', 'egon']

排序翻转

.reverse#把原列表翻转

>>> names = ['qiangzi', 'shaohua', 'xifeng', 'egon', 'alex', 'seven', 'yuan']
>>> names.reverse()
>>> names
['yuan', 'seven', 'alex', 'egon', 'xifeng', 'shaohua', 'qiangzi']

.sort#把原列表排序

>>> a = [1,5,7,3,2,4,9,15,62,98,56,12]
>>> a.sort()
>>> a
[1, 2, 3, 4, 5, 7, 9, 12, 15, 56, 62, 98]

for循环  循环列表用for循环

for % in %

>>> names =['yuan', 'seven', 'alex', 'egon', 'xifeng', 'shaohua', 'qiangzi']

>>> for i in names:

       ... print(i)
yuan
seven
alex
egon
xifeng
shaohua
qiangzi
>>>

细讲基本数据类型-元组

不可变 = 只读列表    不能增、删、改、查

注意:元组本身不可变,如果元组找那个还包含其他可变元素,这是可变元素可以改变

语法 ()           tuple 元组  切片

>>> names = ()
>>> type(names)
<class 'tuple'>

注意:元组本身不可变,如果元组找那个还包含其他可变元素,这是可变元素可以改变

改变元组中可变数据类型中的值

>>> data = (36,28,75,['qiangzi','xifeng'],5,4)
>>> data[3][1] = 'daqiang'
>>> data
(36, 28, 75, ['qiangzi', 'daqiang'], 5, 4)

>>> data = (36,28,75,['qiangzi','xifeng'],5,4)
>>> id(data[3])
29119192
>>> id(data[3][0])
29088512
>>> id(data[3][1])
29088576

细讲基本数据类型-字符串

定义:字符串是一个有序的字符的集合,用于存储表示基础的文本信息,' '或" "或''' '''中间包含的内容称之为字符串

特性:

1.按照从左到右的顺序定义字符集合,下标从0开始顺序访问,有序

2.可以进行切片操作

3不可变,字符串是不可变的,不能像裂变一样像改其中一个元素,所有对字符串的修改操作其实都是想当于生成了一份新数据。

>>> name = 'WANG'
>>> name
'WANG'
>>> name[0]
'W'
>>> name[-1]
'G'
>>> name[0:4]
'WANG'
>>> name[::]
'WANG'
>>> name[::-1]
'GNAW'

改变字符串生成新数据

>>> name = 'QIANG'
>>> id(name)
29088864
>>> name = 'WANG'
>>> id(name)
29088832

补充:字符串的单引号和双引号都无法取消特殊字符的含义,如果想让引号内所有字符均取消特殊意思,在引号前面加r。

>>> name = r'i\thf'
>>> name
'i\\thf'
>>> print(name)
i\thf

字符串的常用操作

.capitalize()  #首字母大写

>>> name = 'wang qiang'
>>> name
'wang qiang'
>>> name.capitalize()
'Wang qiang'

.casefold() #把字符串全变小写

>>> a = 'WANG QIANG'
>>> a.casefold()
'wang qiang'
>>>

.center() #装饰

>>> a = 'WANG QIANG'

>>> a.center(50,'-')
'-------------------WANG QIANG--------------------'

.count() #差元素的个数

>>> a = 'WANG QIANG'
>>> a.count('A')
2
>>> a.count('a',0,8)
0
>>> a.count('A',0,8)
1
>>>

  

  

原文地址:https://www.cnblogs.com/wzq1997/p/12908217.html