学习python入门基础——数据类型(列表和元组)

一、列表(list)

  1.特点
    1)索引从0开始
    2)list是有序的
    3)可变的
    4)元素可以重复
    5)同一个list支持任意的数据类型
  2.增(创建)

list_1=[1,2,3,4]

  3.查

    1)通过索引获取元素 ——list_1[index]

list_1=[1,2,3,4,5]
print(list_1[0]) #获取索引0位的元素 打印出索引0位置的元素是1

    2)获取元素的索引值 ——list_1.index(value)

list_1=[1,2,3,4,5]
print(list_1.index(list_1[0])) #打印出索引0

    3)统计元素出现的次数——list_1.count('val')

list_1=[1,2,3,4,5,1,3,1,1,1]
print(list_1.count(1)) #打印出列表元素1的出现的次数是5

    4)获取列表长度——len(list_1)

list_1=[1,2,3,4,5]
print(len(list_1)) #打印出列表长度5

    5)切片:list[开始索引:结束索引:步长]

         跟字符串切片一样

         list切片和字符串切片的区别:字符串是单个数字/字母为单位,list是元素为单位

list_1=[1,2,3,4,5,1,3,1,1,1]
print(list_1[0:3]) #打印出从索引0到索引3的列表[1, 2, 3]
print(list_1[-1:-3:-1]) #打印出从索引-1到索引-3的列表[1, 1]
str_1=hello python
print(str_1[::-1]) #打印出nohtyp olleh
list_1=[hello, python]
print(list_1[::-1]) #打印出['python', 'hello']

  4.改
    1)修改原列表元素:list_1[index]=value

list_1=[1,2,3,4,5,'dsf']
list_1[0]='test'
print(list_1) 打印出list_1=['test',2,3,4,5,'dsf']

    2)追加到最后一位:append

list_1.append(需要插入的元素)
list_1=[1,2,3,4,5,'dsf']
list_1.append('test') 打印出list_1=[1,2,3,4,5,'dsf','test']

    3)插入:insert

list_1.insert(index,需要插入的元素)
list_1=[1,2,3,4,5,'dsf']
list_1.insert(1,'test') 打印出list_1=[1,'test',2,3,4,5,'dsf']

    4)合并:extend      list_1.extend(list_2)

list_1=[1,2,3,4,5,'dsf']
list_2=['a','b']
list_1.extend(list_2) 将list_2里的所有元素追到到list_1中,list_2不变 打印出list_1=[1,2,3,4,5,'dsf','a','b']

    5)合并:+

list_1=[1,2,3,4,5,'dsf']
list_2=['a','b']
print(list_1+list_2) 打印出第三中list_3=[1,2,3,4,5,'dsf','a','b'] list_1和list_2的值不变

  5.删
    1)按索引删除:list_1.pop(index)
            index=None:删除最后一个元素
            index=索引值:删除对应索引的元素
            正确删除了返回被删除的元素

list_1=[1,2,3,4,5,'dsf']
print(list_1.pop()) #删除最后一个元素,返回被删除的元素dsf
print(list_1.pop(0)) #删除索引为0的元素,返回被删除的元素1

    2)按索引删除:del list_1[index]
            按索引删除,没有返回值

list_1=[1,2,3,4,5,'dsf']
del list_1[1]
print(list_1) #删除索引为1的值,打印list_1=[1, 3, 4, 5, 'dsf']

    3)按元素删除:list_1.remove(value)
            删除value值,当同一个value值有多个时,只删除第一个
            正确删除了返回None

list_1=[1,2,2,3,4,5,'dsf']
print(list_1.remove(2)) #成功删除返回None
print(list_1) #打印出list_1=[1,2,3,4,5,'dsf']

    4)清空:list_1.clear()
          正确删除了返回None

list_1=[1,2,3,4,5,'dsf']
print(list_1.clear()) #成功删除,返回None
print(list_1) #list_1为空列表[]

  6.成员运算
    1)in         返回布尔值True/False
    2)not in    返回布尔值True/False

list_1=[1,2,3,4,5]
print(1 in list_1) #返回布尔值True
print(1 not in list_1) #返回布尔值False

  7.排序
    1)通过ASCII码值来获取对应字符:chr()

print(chr(97))

    2)通过字符,来获取ASCII码值:ord()

print(ord('a'))

    3)正序排序:sort
      不会生成新的列表,在原有的列表基础上排序
      可以对字符串、数值进行排序

#升序排序
list_1=[55,4,33,14,5]
list_1.sort()
print(list_1)

    4)倒序排序:sort(reverse=True)
      不会生成新的列表,在原有的列表基础上排序
      可以对字符串、数值进行排序

#倒序排序
list_2=[55,4,33,14,5]
list_2.sort(reverse=True)
print(list_2)

    5)正序排序:sorted()
      生成新的list表排序

list_2=[55,4,33,14,5]
list_3=sorted(list_2)
print(list_3)

    6)倒序排序:sorted(reverse=True)
      生成新的list表排序

#不改变原有list的情况下排序
list_2=[55,4,33,14,5]
list_3=sorted(list_2,reverse=True)
print(list_3)

    7)反序(首尾倒过来):reverse()
      在原有的list上反序,改变原有的list

list_2=[55,4,33,14,5]
list_2.reverse()
print(list_2)
   8)反序(首尾倒过来):reversed()
      生成新的list表排序,需要强制转换
list_2=[55,4,33,14,5]
list_3=reversed(list_2)
print(list(list_3))

  8.内置函数
    1)最大:max

list_2=[55,4,33,14,5]
print(max(list_2))

    2)最小:min

list_2=[55,4,33,14,5]
print(min(list_2))

    3)求和:sum

list_2=[55,4,33,14,5]
print(sum(list_2))

    4)list长度:len

list_2=[55,4,33,14,5]
print(len(list_2))

    5)输出:input

str_01=input()    
res=input('请输出值:')

二、元组(tuple)

  1.特性
    1)元素不可修改
    2)元素内容可以重复
    3)如果元组里面只有一个元素,必须加个逗号,否则类型就不是元组了(1,)

tuple_1=(1)
print(tuple_1,type(tuple_1))

tuple_1=(1,)
print(tuple_1,type(tuple_1))

  2.创建

tuple_1=(1,2,3)

  3.切片:通过索引(同list)

tuple_1=(1,2,3)
print(tuple_1[0])
print(tuple_1[0:1])
print(tuple_1[:-3:-1])

  4.合并:+
    不会改变原本元组

tuple_1=(1,2,3)
tuple_2=(4,5,6)
print(tuple_1+tuple_2)

  5.元组分类
    1)不可变元组
      本身不可以修改
    2)可变元组
      元素包含了可变类型,实际是修改了元素可变类型

tuple_1=(1,2,3,4,['a','b'])
tuple_1[-1].append('c')
print(tuple_1) 打印出tuple_1=(1,2,3,4,['a','b','c'])
list_1=[32,55,6,7,'gd','gergdsfg']
list_3=list_1[1:4]
list_3.append('3425')
print(list_3) 打印出list_3=[55, 6, 7, '3425']

  6.常用方法
    1)max()
    2)min()
    3)len()
    4)去重:set()——去重返回的是集合,需要进行类型强制转换

tuple_3=(1,1,2,3,2,3)
res1=set(tuple_3)
print(list(res1))
print(tuple(res1))

  7.排序,生成新的元组排序,原本的元组不变
    1)正序
      sorted(tuple_1)

tuple_1=(55,4,33,14,5)
tuple_2=sorted(tuple_1)
print(tuple_2)

    2)倒序
      sorted(tuple_1,reverse=True)

tuple_1=(55,4,33,14,5)
tuple_2=sorted(tuple_1,reverse=True)
print(tuple_2)

    3)反转
      reversed(tuple_1)        需要tuple()强制转换

tuple_1=(55,4,33,14,5)
tuple_2=reversed(tuple_1)
print(tuple(tuple_2))

  8.ASCII码值
    1)通过ASCII码值来获取对应字符:chr()

print(chr(97))

    2)通过字符,来获取ASCII码值:ord()

print(ord('a'))

  9.成员运算
    1)in       返回布尔值True/False

    2)not in    返回布尔值True/False

tuple_1=(1,2,3,4,5)
print(1 in tuple_1) #返回布尔值True
print(1 not in tuple_1) #返回布尔值False