美文网首页
2024-01-28_Python数组和元组

2024-01-28_Python数组和元组

作者: 微笑碧落 | 来源:发表于2024-01-27 17:16 被阅读0次

1. 插入元素

  • arr.append() #在列表的最后一个位置插入元素
motorcycles = ['honda', 'yamaha', 'suzuki'] 
print(motorcycles) 
motorcycles.append('ducati') 
print(motorcycles)
  • arr.insert(position, ele) #在指定位置插入元素。这个指定位置是原本列表的位置,不是新元素的位置。插入新元素后,其他元素往右边移动一个位置。position为正数或者负数结果稍微有点不一样
motorcycles = ['honda', 'yamaha', 'suzuki']
motorcycles.insert(0, "Hao jue")
print(motorcycles)
#打印出['Hao jue', 'honda', 'yamaha', 'suzuki']
motorcycles = ['honda', 'yamaha', 'suzuki']
motorcycles.insert(-1, "Hao jue")
print(motorcycles)
#打印出['honda', 'yamaha', 'Hao jue', 'suzuki']

2. 删除元素

  • list.pop() #弹出末尾的最后一个元素,返回弹出的元素。list也已经被更新
  • list.pop(position) #弹出指定位置的元素,返回弹出的元素。list也已经被更新
  • del list[0] #删除指定位置的元素,返回弹出的元素。list也已经被更新
  • list.remove(ele) #按照值来删除元素。如下代码会报错,按照值来删除元素,list必须有这个元素。仅仅删除一次。如果要多次删除,就需要用循环。
motorcycles = ['honda', 'yamaha', 'suzuki']
motorcycles.remove("nih")
print(motorcycles)

3. 简单排序

  • list.sort()
  • cars.sort(reverse=True)
cars = ['bmw', 'audi', 'toyota', 'subaru']
cars.sort(reverse=True) #按照字母降序排列。永久性改变一个list。这个方法返回None。
cars.sort() #按照字母顺序升序
  • sorted()方法。这个方法返回一个新的数组,原来的数组不变
cars = ['bmw', 'audi', 'toyota', 'subaru']
sorted(cars)
sorted(cars, reverse=True)
  • list.reverse() 反转列表。reverse()不是指按与字母顺序相反的顺序排列列表元素,而只是反转列表元素的排列顺序。方法reverse()永久性地修改列表元素的排列顺序,但可随时恢复到原来的排列顺序,为此只需对列表再次调用reverse()即可。

4. 数值列表

  • range(1, 10),返回的不是一个list。需要用list(range(1,))来返回list。
  • 对于需要用到index来访问list的情况,或者需要访问数字的情况下,可以用如下:
for i in range(1,5):
    print(cats[i])
  • 在这个示例中,range()只是打印数字1到4,函数range()让Python从你指定的第一个值开始数,并在到达你指定的第二个值后停止,输出不包含第二个值(这里为5)。要打印数字1~5,需要使用range(1,6)。
  • 使用函数range()时,还可指定步长。
for even in range(2,11,2):
    print(even)
  • 步长可以为负数。如下打印出2和1
  • 通过这个,可以实现反向访问list。
for even in range(2,0,-1):
    print(even)

5.对数字列表进行简单的统计计算

  • 可以使用min、max、sum函数。如果传入的list为空,就会报错。
digits = [1,2,3,4,5,6]
print(digits, min(digits), max(digits), sum(digits))
sum(range(1,5))

6. 列表解析

  • 列表解析让你只需编写一行代码就能生成列表。
squares = [value**2 for value in range(1,11)] 
print(squares) #打印出[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
  • 要使用这种语法,首先指定一个描述性的列表名,如squares;然后,指定一个左方括号,并定义一个表达式,用于生成你要存储到列表中的值。如上代码中,表达式为value**2,它计算平方值。
  • 接下来,编写一个for循环,用于给表达式提供值,再加上右方括号。for循环为for value in range(1,11),它将值1~10提供给表达式value**2。请注意,这里的for语句末尾没有冒号。
  • 表达式还可以是一个函数。
  • 列表解析事实上就是一个for循环。
sums = [sum(range(1,i+1)) for i in range(1,11)]

def get_sum(i):
    return sum(range(1, i + 1))
sums = [get_sum(i) for i in range(1,11)]
print(sums)
  • 注意sep这个参数,用来给print方法指定分割符。默认是空格。
digits = list(range(1, 1000001))
print(min(digits), max(digits), sum(digits), end=";", sep=";")

带if的列表解析

  • 带有if的列表解析。很容易理解,满足if条件的value才保留下来。
  • 这里可以用步长来处理。
digits = [i for i in range(3,31) if i%3==0]
print(digits) #[3, 6, 9, 12, 15, 18, 21, 24, 27, 30]

多变量的列表解析

digits = [(x,y) for x in range(1,5) for y in range(1,6) if y >=2 ]
print(digits)
#返回[(1, 2), (1, 3), (1, 4), (1, 5), (2, 2), (2, 3), (2, 4), (2, 5)]

7. 切片

  • 访问list的指定范围的部分元素,称之为切片。
  • list[start:end]返回一个新的list。
  • 要创建切片,可指定要使用的第一个元素和最后一个元素的索引。与函数range()一样,Python在到达你指定的第二个索引前面的元素后停止。要输出列表中的前三个元素,需要指定索引0~3,这将输出分别为0、1和2的元素。
  • 当start为空,表示从头开始。end为空,表示直到结尾(包含最后一个)。
  • start和end都可以为空,表示全部的list元素,用来list复制
  • 当end超过list元素个数的时候,不会报错,会把start开始的全部元素都切片出来。
  • 同样的,start和end都可以用负数。
  • 当start大于end的时候,不会报错,返回空list,即[]
players = ["charles", "martina", "michael", "florence", "eli"]
for player in players[0:3]:
    print(player)
new_players = players[:]

8.元组(tuple)

  • python用()表示一个元组。列表是可以修改的,而不可变的列表被称为元组。
  • 元组的元素不能修改,但是存储元组的变量是可以重新赋值的
dimensions = (200, 50)
print(dimensions)
dimensions = (200, 500)
print(dimensions)

9. 数组合并

list1 = [1, 2, 3]
list2 = [4, 5, 6]
merged_list = list1 + list2
##或者merged_list = list1.extend(list2)
print(merged_list)  # 输出: [1, 2, 3, 4, 5, 6]

相关文章

  • 数组和元组

    TypeScript里如何对数组和元组进行类型注解 TypeScript 里的数组,实际上和JS里的数组完全是一样...

  • scala中的模式匹配

    一、常量、类型匹配 二、 数组列表和元组匹配 1. 数组 2. 元组 3. 列表

  • scala入门(2)

    3.数组、映射、元组、集合 3.1数组 3.1.1定长数组和变长数组 object ArrayDemo {def ...

  • 数组和元组之间的区别是什么?

    数组和元组之间的区别:数组内容是可以被修改的,而元组内容是只读的。另外,元组可以被哈希,比如作为字典的关键字。

  • Swift之学习元组、闭包(block)、结构体

    元组:tupleSwift元组和oc的数组和字典很相像,但又有很大差别;1、元组可以放不同数据类型的元素2、元组的...

  • typescript类型

    布尔、字符串、数字、数组、对象在原生数组的基础上 元组 Tuple 元组类型允许表示一个已知元素数量和类型的数组,...

  • 数组和元组的不同

    1. 数组中只有一个元素,type为数组;元组只有一个元素且没有逗号,type为对应元素的类型 2. 数组中的元素...

  • Swift 数据类型的使用(一)

    数组、字符串、元组 数组-### 数组的创建 数组遍历 1.最普通的遍历 2.遍历的时候,同时获得索引和值//使用...

  • Swift(1)

    变量和常量 字符串 数组 字典 空格 元组 分支结构 枚举 函数

  • python numpy-shape函数

    以元组形式返回数组各个维度的元素个数 一维数组 输出 二维数组 输出 通过返回的元组,可看出这个二维数组中,一维是...

网友评论

      本文标题:2024-01-28_Python数组和元组

      本文链接:https://www.haomeiwen.com/subject/gikiodtx.html